Запитання з тегом «sql-server»

Усі версії Microsoft SQL Server (не MySQL). Будь ласка, додайте тег, що залежить від версії, як-от sql-server-2016, оскільки це часто стосується питання.

1
Чому пошук LIKE N '% %' відповідає будь-якому символу Unicode та = N' 'багатьом?
DECLARE @T TABLE( Col NCHAR(1)); INSERT INTO @T VALUES (N'A'), (N'B'), (N'C'), (N'Ƕ'), (N'Ƿ'), (N'Ǹ'); SELECT * FROM @T WHERE Col LIKE N'%�%' Повертається Col A B C Ƕ Ƿ Ǹ SELECT * FROM @T WHERE Col = N'�' Повертається Col Ƕ Ƿ Ǹ Генерування всіх можливих подвійних байтових "символів" …

1
Де знаходиться SQLCMD.EXE в SQL Server 2014 Express?
Використовуючи "SQLCMD.EXE" для резервного копіювання моїх баз даних SQL Server Express протягом багатьох років, я виявив, що після встановлення версії 2014 року я більше не знайшов SQLCMD.EXE. У попередніх версіях він знаходився в C: \ Програмні файли \ Microsoft SQL Server \ 110 \ Інструменти \ Binn \ SQLCMD.EXE Але …

3
Як надати дозволи на функцію на основі таблиці
Чи правильно я це роблю ...? У мене є функція, яка повертає гроші ... CREATE FUNCTION functionName( @a_principal money, @a_from_date datetime, @a_to_date datetime, @a_rate float ) RETURNS money AS BEGIN DECLARE @v_dint money set @v_dint = computation_here set @v_dint = round(@v_dint, 2) RETURN @v_dint END GO Grant execute on functionName …

4
Що стосується зіставлення деяких стовпців у sys.databases?
Я намагаюся запустити UNPIVOTрізні колонки, що містяться в sys.databasesрізних версіях SQL Server, починаючи з 2005 по 2012 рік. Не UNPIVOTвдалося отримати таке повідомлення про помилку: Msg 8167, рівень 16, стан 1, рядок 48 Тип стовпця "CompatibilityLevel" суперечить типу інших стовпців, зазначеним у списку UNPIVOT. T-SQL: DECLARE @dbname SYSNAME; SET @dbname …

3
Придушити автоматичне завершення студії управління SQL Server Studio
Чи існує спосіб тимчасового придушення автоматичного заповнення програми SQL Server Management Studio під час введення запиту? Я не хочу повністю відключити автоматичне завершення, просто скажіть, утримуючи якусь клавішу під час введення певного слова, щоб вона не заважала. Наприклад, скажіть, у мене був такий запит SELECT Foo, Foo2 FROM SomeTable Як …

1
Чому SQL Server "Обчислити скалярний", коли Я ВИБІРУ персистуюну обчислену колонку?
Три SELECTтвердження в цьому коді USE [tempdb]; GO SET NOCOUNT ON; CREATE TABLE dbo.persist_test ( id INT NOT NULL , id5 AS (id * 5) , id5p AS (id * 5) PERSISTED ); INSERT INTO dbo.persist_test (id) VALUES (1), (2), (3); SELECT id FROM dbo.persist_test; SELECT id5 FROM dbo.persist_test; SELECT …

3
Як я можу додати стовпчик "реверсія" до великої таблиці з мінімальним простоєм
Використовуючи SQL Server 2008 і пізніші версії, я хочу додати стовпчик версії до великої таблиці, проте просто ALTER TABLE [Tablename] ADD Rowversion [Rowversion] NOT NULL Тоді таблиця занадто довго недоступна для оновлень. Які стратегії я можу використовувати для скорочення цього простою? Я буду розглядати що завгодно. Чим простіше, тим краще, …


3
варчар (255) або варчар (256)?
Чи слід використовувати varchar(255)або varchar(256)при проектуванні таблиць? Я чув, що один байт використовується для довжини стовпця або для зберігання метаданих. Чи важливо це вже в цей момент? Я бачив деякі повідомлення в Інтернеті, однак вони стосуються Oracle та MySQL. У нас є Microsoft SQL Server 2016 Enterprise Edition, як це …

1
Чи повинен я насторожитися цим попередженням NO NO PREDICATE?
Я усуваю проблеми з бітами та фрагментами погано виконаної збереженої процедури. У цьому розділі процедури наводиться попередження NO JOIN PREDICATE select method = case methoddescription when 'blah' then 'Ethylene Oxide' when NULL then 'N/A' else methoddescription end, testmethod = case methoddescription when 'blah' then 'Biological Indicators' when NULL then 'N/A' …

1
Як увімкнути кешування набору результатів SQL Server 2019?
STP Server 2019 CTP 2.3 додав кілька нових стовпців до sys.databases, включаючи is_result_set_caching_on: Він ще не задокументований ні на Що нового у SQL Server 2019 , ані на сторінці ALTER DATABASE . Я спробував використати той самий синтаксис, що і для Accelerated Database Recovery, лише для сміху: ALTER DATABASE StackOverflow2013 …

5
Чи можна поліпшити стійкість до збоїв у системі SQL Server?
У нас є ПК, на яких працює SQL Server (SP4 2008 та SP1 2016), які регулярно втрачають силу. Очевидно, це іноді призводить до (індексу) пошкодження бази даних SQL Server, яку нам потрібно відновити згодом. Мені відомо, що SQL Server не розроблений для подібних сценаріїв, і правильне рішення - це виправити …
20 sql-server  crash 

2
Знайдені запити без гарного достатнього плану
У мене є база даних SQL Server 2012. Я помітив значення Reason for early termination of statement optimizationдля деяких запитів і все дав Good Enough Plan Found. Тепер мої запитання: Назвіть усі можливі типи "Причини дострокового припинення оптимізації операторів". Я шукав це в msdn, але не отримав повного списку значень. …

2
Чому оператор Concatenation оцінює менше рядків, ніж його введення?
У наведеному нижче фрагменті плану запитів здається очевидним, що оцінка рядка для Concatenationоператора повинна бути ~4.3 billion rowsабо сума оцінок рядків для двох його входів. Однак складається оцінка ~238 million rows, що призводить до неоптимальної Sort/ Stream Aggregateстратегії, яка розсипає сотні ГБ даних на tempdb. Логічно послідовна оцінка в цьому …

4
Поради щодо діагностики "іноді" повільного запиту
У мене зберігається процедура, яка повертає результати з індексованого виду через індекс покриття. Зазвичай вона працює швидко (~ 10 мс), іноді може працювати до 8 секунд. Ось приклад випадкового виконання (зверніть увагу: це не повільне, але текст запиту є однаковим, окрім значення, яке пройшло): declare @p2 dbo.IdentityType insert into @p2 …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.