ANSI_NULLS http://msdn.microsoft.com/en-us/library/ms188048.aspx
Вы не делаете ничего особенного с отфильтрованными индексами, вычисленными столбцами и т. Д., Поэтому вы можете удалить это.
QUOTED_IDENTIFIER http://msdn.microsoft.com/en-us/library/ms174393.aspx
Очень стандартные имена, без кавычек, поэтому здесь эффект нулевой.
ANSI_PADDING http://msdn.microsoft.com/en-us/library/ms187403.aspx
Этот параметр обязательно должен быть включен. Это нужно только здесь, если вы по какой-то причине отключили его. Даже тогда, это не делает много, потому что, даже если вы сохранили конечные пробелы в LoginName.NAME,
where name = 'abc' => will match 'abc ' (spaces stored)
len(name) = 3 => even if name is 'abc '
Потому что во всем SQL Server он уже делает забавные вещи с конечными пробелами.
Необходимый минимум
CREATE TABLE dbo.LoginName(
id int IDENTITY NOT NULL,
name varchar(255) NOT NULL,
CONSTRAINT PK_LoginName PRIMARY KEY
(
id
),
CONSTRAINT IX_LoginName UNIQUE
(
name
)
)
GO
- Обычно у вас есть только одна файловая группа с именем "PRIMARY", поэтому они могут идти
- Параметры индекса являются значениями по умолчанию, включают или изменяют их, только если они имеют значение для настройки
- Первичный ключ по умолчанию всегда кластеризован, если другой уже не является
- Уникальный ключ не кластеризован, так как первичный ключ уже кластеризован
- [] не являются необходимыми, поскольку специальные имена не используются
- Я оставил там
dbo.
, но, если честно, он может пойти и в 99% случаев
- ИДЕНТИЧНОСТЬ без спецификаторов по умолчанию (1,1)