Я пытаюсь установить формат даты по умолчанию для каждого экземпляра сервера, но нахожу только примеры, которые устанавливают формат даты для каждого сеанса. Можно первое через T-SQL сделать?
Заранее спасибо.
То, что вы просите, невозможно сделать, потому что даты по умолчанию не существует. Даты хранятся не в виде строк, а в виде числа (количество дней от начальной точки во времени). КАЖДЫЙ строковый формат ВСЕГДА зависит от сеанса, поскольку он всегда форматируется так, как того хочет пользователь.
Если вам действительно нужно вводить даты в виде строк, используйте форму ISO, которая принимается во всех регионах. Он имеет форму ГГГГ-ММ-ДД (например, 29 сентября 2010 г.).
Но все возвращаемые даты всегда возвращаются на самом деле в полях даты AS, а строковая форма создается только на клиенте.
Чтобы изменить формат даты для каждого экземпляра сервера, вам необходимо изменить язык сервера по умолчанию. Это можно сделать с помощью SQL Server Management Studio, щелкнув правой кнопкой мыши узел сервера и выбрав Свойства -> Дополнительно -> Язык по умолчанию. Имейте в виду, что логины, созданные до этого изменения, будут использовать старый язык по умолчанию. Чтобы изменить язык по умолчанию для каждого входа в систему:
sp_defaultlanguage 'имя_входа', 'имя_языка'
В моем случае я использовал язык «бразильский», в котором формат даты по умолчанию - DMY.