You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/database-engine/availability-groups/windows/failover-clustering-and-always-on-availability-groups-sql-server.md
-5Lines changed: 0 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,11 +56,6 @@ ms.workload: "Active"
56
56
57
57
For information about running [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)] on Windows Server Failover Clustering (WSFC) nodes and about WSFC quorum, see [Windows Server Failover Clustering (WSFC) with SQL Server](../../../sql-server/failover-clusters/windows/windows-server-failover-clustering-wsfc-with-sql-server.md).
58
58
59
-
### Cross-Cluster Migration of Always On Availability Groups for OS Upgrade
60
-
Beginning with [!INCLUDE[ssSQL11SP1](../../../includes/sssql11sp1-md.md)], [!INCLUDE[ssHADR](../../../includes/sshadr-md.md)] supports cross-cluster migration of availability groups for deployments to a new Windows Server Failover Clustering (WSFC) cluster. A cross-cluster migration moves one availability group or a batch of availability groups to the new, destination WSFC cluster with minimal downtime. The cross-cluster migration process enables you to maintain your service level agreements (SLAs) when upgrading to a [!INCLUDE[win8srv](../../../includes/win8srv-md.md)] cluster. [!INCLUDE[ssSQL11SP1](../../../includes/sssql11sp1-md.md)] (or a later version) must be installed and enabled for Always On on the destination WSFC cluster. The success of a cross-cluster migration depends on thorough planning and preparation of the destination WSFC cluster.
61
-
62
-
For more information, see [Cross-Cluster Migration of Always On Availability Groups for OS Upgrade](http://msdn.microsoft.com/library/jj873730.aspx).
63
-
64
59
## <aname="SQLServerFC"></a> [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)] Failover Cluster Instances (FCIs) and Availability Groups
65
60
You can set up a second layer of failover at the server-instance level by implementing [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)] failover clustering together with the WSFC cluster. An availability replica can be hosted by either a standalone instance of [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)] or an FCI instance. Only one FCI partner can host a replica for a given availability group. When an availability replica is running on an FCI, the possible owners list for the availability group will contain only the active FCI node.
This function returns column or parameter information.
35
35
36
36
[Transact-SQL Syntax Conventions](../../t-sql/language-elements/transact-sql-syntax-conventions-transact-sql.md)
Is an [expression](../../t-sql/language-elements/expressions-transact-sql.md)that contains the identifier (ID) of the table or procedure.
46
+
An [expression](../../t-sql/language-elements/expressions-transact-sql.md)containing the identifier (ID) of the table or procedure.
47
47
48
48
*column*
49
-
Is an expression that contains the name of the column or parameter.
49
+
An expression containing the name of the column or parameter.
50
50
51
51
*property*
52
-
Is an expression that contains the information to be returned for *id*, and can be any one of the following values.
52
+
For the *id* argument, the *property* argument specifies the information type that the `COLUMNPROPERTY` function will return. The *property* argument can have any one of these values:
53
53
54
54
|Value|Description|Value returned|
55
55
|---|---|---|
56
-
|**AllowsNull**|Allows null values.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
|**ColumnId**|Column ID value corresponding to **sys.columns.column_id**.|Column ID<br /><br /> **Note:** When querying multiple columns, gaps may appear in the sequence of Column ID values.|
58
-
|**FullTextTypeColumn**|The TYPE COLUMN in the table that holds the document type information of the *column*.|ID of the full-text TYPE COLUMN for the column passed as the second parameter of this property.|
59
-
|**IsComputed**|Column is a computed column.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
60
-
|**IsCursorType**|Procedure parameter is of type CURSOR.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
61
-
|**IsDeterministic**|Column is deterministic. This property applies only to computed columns and view columns.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid. Not a computed column or view column.|
62
-
|**IsFulltextIndexed**|Column has been registered for full-text indexing.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
63
-
|**IsIdentity**|Column uses the IDENTITY property.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
64
-
|**IsIdNotForRepl**|Column checks for the IDENTITY_INSERT setting.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
65
-
|**IsIndexable**|Column can be indexed.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
66
-
|**IsOutParam**|Procedure parameter is an output parameter.|1 = TRUE<br /><br /> 0 = FALSE NULL = Input is not valid.|
67
-
|**IsPrecise**|Column is precise. This property applies only to deterministic columns.|1 = TRUE<br /><br /> 0 = FALSE NULL = Input is not valid. Not a deterministic column|
68
-
|**IsRowGuidCol**|Column has the **uniqueidentifier** data type and is defined with the ROWGUIDCOL property.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
69
-
|**IsSystemVerified**|The determinism and precision properties of the column can be verified by the [!INCLUDE[ssDE](../../includes/ssde-md.md)]. This property applies only to computed columns and columns of views.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
70
-
|**IsXmlIndexable**|The XML column can be used in an XML index.|1 = TRUE<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
71
-
|**Precision**|Length for the data type of the column or parameter.|The length of the specified column data type<br /><br /> -1 = **xml** or large value types<br /><br /> NULL = Input is not valid.|
72
-
|**Scale**|Scale for the data type of the column or parameter.|The scale<br /><br /> NULL = Input is not valid.|
73
-
|**StatisticalSemantics**|Column is enabled for semantic indexing.|1 = TRUE<br /><br /> 0 = FALSE|
74
-
|**SystemDataAccess**|Column is derived from a function that accesses data in the system catalogs or virtual system tables of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. This property applies only to computed columns and columns of views.|1 = TRUE (Indicates read-only access.)<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
75
-
|**UserDataAccess**|Column is derived from a function that accesses data in user tables, including views and temporary tables, stored in the local instance of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. This property applies only to computed columns and columns of views.|1 = TRUE (Indicates read-only access.)<br /><br /> 0 = FALSE<br /><br /> NULL = Input is not valid.|
76
-
|**UsesAnsiTrim**|ANSI_PADDING was set ON when the table was first created. This property applies only to columns or parameters of type**char** or **varchar**.|1= TRUE<br /><br /> 0= FALSE<br /><br /> NULL = Input is not valid.|
77
-
|**IsSparse**|Column is a sparse column. For more information, see [Use Sparse Columns](../../relational-databases/tables/use-sparse-columns.md).|1= TRUE<br /><br /> 0= FALSE<br /><br /> NULL = Input is not valid.|
78
-
|**IsColumnSet**|Column is a column set. For more information, see [Use Column Sets](../../relational-databases/tables/use-column-sets.md).|1= TRUE<br /><br /> 0= FALSE<br /><br /> NULL = Input is not valid.|
79
-
|**GeneratedAlwaysType**|Is column value generated by the system. Corresponds to **sys.columns.generated_always_type**|**Applies to**: [!INCLUDE[ssSQL15](../../includes/sssql15-md.md)] through [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)].<br /><br /> 0 = Not generated always<br /><br /> 1 = Generated always as row start<br /><br /> 2 – Generated always as row end|
80
-
|**IsHidden**|Is column value generated by the system. Corresponds to **sys.columns.is_hidden**|**Applies to**: [!INCLUDE[ssCurrentLong](../../includes/sscurrentlong-md.md)] through [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)].<br /><br /> 0 = Not hidden<br /><br /> 1 = Hidden|
58
+
|**FullTextTypeColumn**|The TYPE COLUMN in the table holding the document type information of the *column*.|ID of the full-text TYPE COLUMN for the column name expression passed as the second parameter of this function.|
59
+
|**GeneratedAlwaysType**|Is column value system-generated. Corresponds to **sys.columns.generated_always_type**|**Applies to**: [!INCLUDE[ssSQL15](../../includes/sssql15-md.md)] through [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)].<br /><br /> 0: Not generated always<br /><br /> 1: Generated always at row start<br /><br /> 2: Generated always at row end|
60
+
|**IsColumnSet**|Column is a column set. For more information, see [Use Column Sets](../../relational-databases/tables/use-column-sets.md).|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
61
+
|**IsComputed**|Column is a computed column.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
62
+
|**IsCursorType**|Procedure parameter is of type CURSOR.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
63
+
|**IsDeterministic**|Column is deterministic. This property applies only to computed columns and view columns.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input. Not a computed column or view column.|
64
+
|**IsFulltextIndexed**|Column is registered for full-text indexing.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
65
+
|**IsHidden**|Is column value sysem-generated. Corresponds to **sys.columns.is_hidden**|**Applies to**: [!INCLUDE[ssCurrentLong](../../includes/sscurrentlong-md.md)] through [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)].<br /><br /> 0: Not hidden<br /><br /> 1: Hidden|
|**IsIdNotForRepl**|Column checks for the IDENTITY_INSERT setting.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
68
+
|**IsIndexable**|Column can be indexed.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
69
+
|**IsOutParam**|Procedure parameter is an output parameter.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
70
+
|**IsPrecise**|Column is precise. This property applies only to deterministic columns.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input. Not a deterministic column|
71
+
|**IsRowGuidCol**|Column has the **uniqueidentifier**data type, and is defined with the ROWGUIDCOL property.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
72
+
|**IsSparse**|Column is a sparse column. For more information, see [Use Sparse Columns](../../relational-databases/tables/use-sparse-columns.md).|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
73
+
|**IsSystemVerified**|The [!INCLUDE[ssDE](../../includes/ssde-md.md)] can verify the determinism and precision properties of the column. This property applies only to computed columns and columns of views.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
74
+
|**IsXmlIndexable**|The XML column can be used in an XML index.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
75
+
|**Precision**|Data type length of the column or parameter.|The length of the specified column data type<br /><br /> -1: **xml** or large value types<br /><br /> NULL: invalid input.|
76
+
|**Scale**|Scale for the column or parameter data type.|The scale value<br /><br />NULL: invalid input.|
77
+
|**StatisticalSemantics**|Column is enabled for semantic indexing.|1: TRUE<br /><br /> 0: FALSE|
78
+
|**SystemDataAccess**|Column is derived from a function that accesses data in the system catalogs or virtual system tables of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. This property applies only to computed columns and columns of views.|1: TRUE (Indicates read-only access.)<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
79
+
|**UserDataAccess**|Column is derived from a function that accesses data in user tables, including views and temporary tables, stored in the local instance of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. This property applies only to computed columns and columns of views.|1: TRUE (Indicates read-only access.)<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
80
+
|**UsesAnsiTrim**|ANSI_PADDING was set ON at time of table creation. This property applies only to columns or parameters of type **char** or **varchar**.|1: TRUE<br /><br /> 0: FALSE<br /><br /> NULL: invalid input.|
81
81
82
82
## Return types
83
83
**int**
84
84
85
85
## Exceptions
86
-
Returns NULL on error or if a caller does not have permission to view the object.
86
+
Returns NULL on error, or if a caller does not have permission to view the object.
87
87
88
-
A user can only view the metadata of securables that the user owns or on which the user has been granted permission. This means that metadata-emitting, built-in functions such as COLUMNPROPERTY may return NULL if the user does not have any permission on the object. For more information, see [Metadata Visibility Configuration](../../relational-databases/security/metadata-visibility-configuration.md).
88
+
A user can only view the metadata of securables that the user owns or on which the user has been granted permission. This means that metadata-emitting, built-in functions such as `COLUMNPROPERTY` might return NULL, if the user does not have correct permission on the object. See [Metadata Visibility Configuration](../../relational-databases/security/metadata-visibility-configuration.md) for more information.
89
89
90
90
## Remarks
91
-
When you check the deterministic property of a column, first test whether the column is a computed column. **IsDeterministic** returns NULL for noncomputed columns. Computed columns can be specified as index columns.
91
+
When checking the deterministic property of a column, first test whether the column is a computed column. The **IsDeterministic** argument returns NULL for noncomputed columns. Computed columns can be specified as index columns.
92
92
93
93
## Examples
94
-
The following example returns the length of the `LastName` column.
94
+
This example returns the length of the `LastName` column.
0 commit comments