sp_setdefaultdatatypemapping (Transact-SQL)

Применимо к:SQL Server

Помечает существующее сопоставление типов данных между SQL Server и системой управления базами данных, отличной от SQL Server (СУБД), как по умолчанию. Эта хранимая процедура выполняется на распространителе в любой базе данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_setdefaultdatatypemapping
    [ [ @mapping_id = ] mapping_id ]
    [ , [ @source_dbms = ] N'source_dbms' ]
    [ , [ @source_version = ] 'source_version' ]
    [ , [ @source_type = ] N'source_type' ]
    [ , [ @source_length_min = ] source_length_min ]
    [ , [ @source_length_max = ] source_length_max ]
    [ , [ @source_precision_min = ] source_precision_min ]
    [ , [ @source_precision_max = ] source_precision_max ]
    [ , [ @source_scale_min = ] source_scale_min ]
    [ , [ @source_scale_max = ] source_scale_max ]
    [ , [ @source_nullable = ] source_nullable ]
    [ , [ @destination_dbms = ] N'destination_dbms' ]
    [ , [ @destination_version = ] 'destination_version' ]
    [ , [ @destination_type = ] N'destination_type' ]
    [ , [ @destination_length = ] destination_length ]
    [ , [ @destination_precision = ] destination_precision ]
    [ , [ @destination_scale = ] destination_scale ]
    [ , [ @destination_nullable = ] destination_nullable ]
[ ; ]

Аргументы

[ @mapping_id = ] mapping_id

Идентифицирует сопоставление типа данных. @mapping_id имеет значение int с значением по умолчаниюNULL. Если указать @mapping_id, остальные параметры не требуются.

[ @source_dbms = ] N'source_dbms'

Имя СУБД, из которого сопоставляются типы данных. @source_dbms — sysname и может быть одним из следующих значений.

значение Описание
MSSQLSERVER Источником является база данных SQL Server.
ORACLE Источником является база данных Oracle.
NULL (по умолчанию)

Этот параметр необходимо указать, если @mapping_idNULL.

[ @source_version = ] 'source_version'

Номер версии исходной СУБД. @source_version — varchar(10) с значением по умолчаниюNULL.

[ @source_type = ] N'source_type'

Тип данных в исходной СУБД. @source_type — sysname с значением по умолчаниюNULL. Этот параметр необходимо указать, если mapping_idNULL.

[ @source_length_min = ] source_length_min

Минимальная длина типа данных в исходной СУБД. @source_length_min является bigint, с значением по умолчаниюNULL.

[ @source_length_max = ] source_length_max

Максимальная длина типа данных в исходной СУБД. @source_length_max имеет большой размер с значением по умолчаниюNULL.

[ @source_precision_min = ] source_precision_min

Минимальная точность типа данных в исходной СУБД. @source_precision_min имеет большой размер с значением по умолчаниюNULL.

[ @source_precision_max = ] source_precision_max

Максимальная точность типа данных в исходной СУБД. @source_precision_max имеет большой размер с значением по умолчаниюNULL.

[ @source_scale_min = ] source_scale_min

Минимальный масштаб типа данных в исходной СУБД. @source_scale_min имеет значение int, с значением по умолчаниюNULL.

[ @source_scale_max = ] source_scale_max

Максимальный масштаб типа данных в исходной СУБД. @source_scale_max имеет значение int с значением по умолчаниюNULL.

[ @source_nullable = ] source_nullable

Указывает, поддерживает ли тип данных в исходной СУБД значение NULL. @source_nullable бит с значением по умолчаниюNULL. 1 означает, что NULL поддерживаются значения.

[ @destination_dbms = ] N'destination_dbms'

Имя целевой СУБД. @destination_dbms является sysname и может быть одним из следующих значений.

значение Описание
MSSQLSERVER Назначение — это база данных SQL Server.
ORACLE Целевой является база данных Oracle.
DB2 Целевой является база данных IBM DB2.
SYBASE Целевой является база данных Sybase.
NULL (по умолчанию)

[ @destination_version = ] 'destination_version'

Версия продукта целевой СУБД. @destination_version — varchar(10) с значением по умолчаниюNULL.

[ @destination_type = ] N'destination_type'

Тип данных, указанный в целевой СУБД. @destination_type — sysname с значением по умолчаниюNULL.

[ @destination_length = ] destination_length

Длина типа данных в целевой СУБД. @destination_length является bigint, с значением по умолчаниюNULL.

[ @destination_precision = ] destination_precision

Точность типа данных в целевой СУБД. @destination_precision является bigint, с значением по умолчаниюNULL.

[ @destination_scale = ] destination_scale

Масштаб типа данных в целевой СУБД. @destination_scale имеет значение int с значением по умолчаниюNULL.

[ @destination_nullable = ] destination_nullable

Указывает, поддерживает ли тип данных в целевой СУБД значение NULL. @destination_nullable бит с значением по умолчаниюNULL. 1 означает, что NULL поддерживаются значения.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

sp_setdefaultdatatypemappingиспользуется во всех типах реплика tion между SQL Server и СУБД, отличной от SQL Server.

Сопоставления типов данных по умолчанию применяются ко всем топологиям репликации, включенным в указанную СУБД.

Разрешения

Могут выполняться sp_setdefaultdatatypemappingтолько члены предопределенных ролей сервера sysadmin.