pub struct SqlServerVersion {
pub major: u8,
pub minor: u8,
pub build: u16,
pub sub_build: u16,
}Expand description
SQL Server product version.
Represents the SQL Server product version (e.g., 11.0.5058 for SQL Server 2012). This is distinct from the TDS protocol version - during PreLogin, the server sends its product version, not the TDS version it will use.
§Wire Format
Per MS-TDS 2.2.6.4, the VERSION option in PreLogin response contains:
UL_VERSION(4 bytes): Major.Minor.Build in format[major][minor][build_hi][build_lo]US_SUBBUILD(2 bytes): Sub-build number
§SQL Server Version Mapping
| Major | SQL Server Version |
|---|---|
| 8 | SQL Server 2000 |
| 9 | SQL Server 2005 |
| 10 | SQL Server 2008/2008 R2 |
| 11 | SQL Server 2012 |
| 12 | SQL Server 2014 |
| 13 | SQL Server 2016 |
| 14 | SQL Server 2017 |
| 15 | SQL Server 2019 |
| 16 | SQL Server 2022 |
Fields§
§major: u8Major version (e.g., 11 for SQL Server 2012)
minor: u8Minor version
build: u16Build number
sub_build: u16Sub-build number
Implementations§
Source§impl SqlServerVersion
impl SqlServerVersion
Sourcepub const fn from_prelogin_bytes(version_bytes: [u8; 4], sub_build: u16) -> Self
pub const fn from_prelogin_bytes(version_bytes: [u8; 4], sub_build: u16) -> Self
Create a new SQL Server version from raw PreLogin bytes.
The PreLogin VERSION field contains 6 bytes:
- Bytes 0-3:
UL_VERSION(major, minor, build_hi, build_lo) in big-endian - Bytes 4-5:
US_SUBBUILDin little-endian
Sourcepub const fn from_raw(raw: u32, sub_build: u16) -> Self
pub const fn from_raw(raw: u32, sub_build: u16) -> Self
Create from a raw u32 value (as decoded from PreLogin).
Sourcepub const fn product_name(&self) -> &'static str
pub const fn product_name(&self) -> &'static str
Get the SQL Server product name for this version.
Sourcepub const fn max_tds_version(&self) -> TdsVersion
pub const fn max_tds_version(&self) -> TdsVersion
Get the corresponding TDS version for this SQL Server version.
This returns the maximum TDS version supported by this SQL Server version.
Trait Implementations§
Source§impl Clone for SqlServerVersion
impl Clone for SqlServerVersion
Source§fn clone(&self) -> SqlServerVersion
fn clone(&self) -> SqlServerVersion
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SqlServerVersion
impl Debug for SqlServerVersion
Source§impl Default for SqlServerVersion
impl Default for SqlServerVersion
Source§fn default() -> SqlServerVersion
fn default() -> SqlServerVersion
Returns the “default value” for a type. Read more
Source§impl Display for SqlServerVersion
impl Display for SqlServerVersion
Source§impl PartialEq for SqlServerVersion
impl PartialEq for SqlServerVersion
impl Copy for SqlServerVersion
impl Eq for SqlServerVersion
impl StructuralPartialEq for SqlServerVersion
Auto Trait Implementations§
impl Freeze for SqlServerVersion
impl RefUnwindSafe for SqlServerVersion
impl Send for SqlServerVersion
impl Sync for SqlServerVersion
impl Unpin for SqlServerVersion
impl UnwindSafe for SqlServerVersion
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more