добавление опции блокировки в оператор Create Table в Sql Server 2005 - PullRequest
0 голосов
/ 20 августа 2009

Я занят созданием таблиц на Sql Server из базы данных Sybase. В базе данных Sybase при создании таблиц использовался параметр «заблокировать все страницы», как я могу повторить это при создании таблиц в Sql Server 2005.

Ответы [ 2 ]

1 голос
/ 20 августа 2009

В SQL Server нельзя указать параметр блокировки для таблицы в CREATE TABLE. Вы можете максимально отключить блокировку уровня строки и уровня страницы, добавив WITH ALLOW_ROW_LOCKS = OFF или WITH ALLOW_PAGE_LOCKS_OFF. Эквивалентом блокировки всей таблицы в SQL Server является использование подсказки блокировки WITH (TABLOCK) при выполнении запросов и обновлений для таблицы, но это не рекомендуется.

Я бы порекомендовал просто игнорировать эту опцию при переносе таблиц из Sybase в SQL Server.

0 голосов
/ 20 августа 2009

Чего вы хотите достичь с помощью этой опции «заблокировать все страницы»? Работает ли база данных, над которой вы работаете, продуктивно? Если нет, в SQL Server вы можете ограничить доступ ко всей базе данных для одного пользователя:

ALTER DATABASE YourDatabaseName SET SINGLE_USER

и таким образом вы уверены, что никто другой, если вы встанете у вас на пути и возитесь, пока не закончите: -)

Установите его на «нормальное» использование с помощью:

ALTER DATABASE YourDatabaseName SET MULTI_USER

Марк

...