Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all 7251 articles
Browse latest View live

sp_OACreate 'MSHTML.HTMLDocument' - Недопустимая строка с указанием класса

$
0
0
Всем Привет!

Пытаюсь подключится к библиотеке MSHTML.HTMLDocument (MSHTML.tlb) так:

DECLARE @object int
DECLARE @hr int
DECLARE @src varchar(255), @desc varchar(255)
EXEC @hr = sp_OACreate 'MSHTML.HTMLDocument', @object OUT

IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
RETURN
END

выдает ошибку:

ODSOLE Extended Procedure Недопустимая строка с указанием класса

Прошу подсказать какова должна быть строка для указания класса MSHTML.HTMLDocument?

Azure SQL DB

$
0
0
Всем привет!

Недавно пришлось плотно заняться поддержкой Azure SQL DB и, в порядке вникания в детали и особенности данного решения, создал несколько отчетов ("dashboards"), которые помогают мне быстро понять что происходит на условном сервере и базе, находясь в SSMS.
Требуется привилегированный уровень доступа (sysadmin).

Не совсем в курсе, что сейчас принято использовать для мониторинга текущего состояния Azure SQL DB (платное/бесплатное/самопис).
Буду благодарен, если порекомендуете что-нибудь стоящее (не денег).
В свою очередь делюсь своей разработкой. Критика приветствуется :)

+ подробнее

Касательно моих отчетов: написаны под SSMS и не требуют логина+пароля. Представляют из себя xml-подобные файлы, которые можно редактировать в notepad при необходимости.

Как запустить: В SSMS авторизовались/подключились к базе мастер/пользовательской, правой кнопкой мышки на базе и Reports-Custom reports

Два основных отчета :

- Azure_Master
- AzureDB_Main
Остальные вызываются из вышеуказанных.

Azure_Master
Этот отчет вызывается из базы master и показывает нагрузку на базы данного хоста за текущие сутки. Данные агрегированы за 5-минутные интервалы.

AzureDB_Main
Этот отчет вызывается из пользовательской базы и показывает много "изнанки" базы включая текущие сессии, распределение памяти (спасибо за скрипт товарищу Mind!) и прочее. Данные нагрузки агрегированы за 15-секундные интервалы и доступны за последний час.
Скриншот приаттачен.


Ссылка: github

Медленная отдача, когда есть колона bit

$
0
0
Здравствуйте, ситуацията такая:
Таблица 500к записей, делаю select id from ... join с фильтром по дате от-до, выполняется за 4 секунды - нормально.
Делаю то же самое, только select * ( все колоны) - 55 секунд. Методом тыка установил, что проблем появляется, когда делаю select bit колоны ?!? Их несколько! Колоны были nullable, сделал их not nullable, ситуация чуть лучше - 40 секунд. Вчера потерял несколько часов на этот проблем, гуглил - ничего схожего не нашел.

Может кто-то сталкивался ?

select @@VERSION
Microsoft SQL Server 2016 (SP2-CU4-OD) (KB4479742) - 13.0.5237.0 (X64) Dec 3 2018 21:07:34 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor)

Выполнимо ли такое условие через jeft join? Если нет, то подскажите как можно сделать.

$
0
0
Добрый день, есть такой запрос:
select MAX(RF.Date) AS date, CON.OID as oid, TC.ProductCycle as cycle
from database1 AS RF
left join database2  AS RR on RF.Reader = RR.Oid
left join database3 AS CON on CON.OID = RR.Asset
left join database4  AS TC on CON.OID = TC.OID
  and TC.Date = '2019-06-03 00:00:00.000'
  and TC.Day = 'День'
  and TC.status = 1
where CON.IP = '1.2.3.4'
group by CON.OID, TC.ProductCycle


На выходе примерно такой результат:

date oid cycle
2019-01-19 05:52:17.880 E0472205-8C90 0
2019-03-06 09:53:22.213 0ADA876A-4C54 90
2019-03-06 09:52:07.517 B8BBC8B6-F36F 201


Теперь же к этому запросу нужно добавить столбец в котором был бы null или id из database 5.

Например database 5 as DA, таблица выглядит так:

id oid start end
C5AA79EB-B13F E0472205-8C90 2019-03-06 08:00:00.000 2019-03-06 09:00:00.000
A1B34983-5BDC E0472205-8C90 2019-03-06 07:00:00.000 2019-03-06 07:30:00.000
F689F88A-2E2C 0ADA876A-4C54 2019-03-06 11:00:00.000 null
3B47ECD5-EDAF 0ADA876A-4C54 2019-03-06 07:00:00.000 2019-03-06 09:30:00.000
A8FD597B-4B45 B8BBC8B6-F36F 2018-02-01 07:00:00.000 null


Условие выбора из этой таблицы такое:
1) CON.OID = DA.oid (то есть oid совпадает с предыдущим запросом)
2) сначала выбираем данные за промежуток времени DA.start between dateadd(hour, 7, cast(cast(getdate() as date) as datetime)) and dateadd(hour, 19, cast(cast(getdate() as date) as datetime)) .Выбираем только одну строку ТОП 1, где order by DA.start desc. Дальше смотри равно ли DA.end null.
3)Если там не null, но данные за этот промежуток времени есть, запрос вернет null. Если же не null то вернуть DA.id
4)Если же за промежуток времени данные не нашлись, ищем данные без between. Просто ТОП 1, где order by DA.start desc. Дальше смотри равно ли DA.end null. И повторяем третий пункт. Но если данных нет тоже вернуть null.

Дополненный результат выборки из пятой таблицы, с этими условиями будет такой:

date oid cycle downtime
2019-01-19 05:52:17.880 E0472205-8C90 0 null
2019-03-06 09:53:22.213 0ADA876A-4C54 90 F689F88A-2E2C
2019-03-06 09:52:07.517 B8BBC8B6-F36F 201 A8FD597B-4B45


Так вообще можно сделать, или не получится?

Несколько вычислений в одном запросе

$
0
0
Добрый день.
Есть такой запрос:
select
eah.mrf_id,
count(eah.orponid)

from public.ent_as_house eah
JOIN public.ent_as_addrobj eaa on eah.parent_id = eaa.id

where eah.livestatus = 1
and eah.parent_id is not null
and exists (select 1 from public.ent_id_vs_o_add where house_id=eah.id)
and eah.adr_adm_ter is not null
and eah.coordinates_id is not null

group by eah.mrf_id

Подскажите, пожалуйста, как добавить еще один столбец, в котором также будет считаться count(eah.orponid), но без условия eah.coordinates_id is not null

XML output

$
0
0
Здравсвуйте! У меня есть вот такой код
DECLARE @OutputFile NVARCHAR(100) ,    @FilePath NVARCHAR(100) ,    @bcpCommand NVARCHAR(1000)
 
SET @bcpCommand = 'bcp "SELECT fCAPTION FROM [PB].[dbo].MTGROUP sys.objects " queryout '
SET @FilePath = 'C:\aaa\'
SET @OutputFile = 'FileName1.xml'
SET @bcpCommand = @bcpCommand + @FilePath + @OutputFile + ' -c -t, -T -S'+ @@servername
exec master..xp_cmdshell @bcpCommand


и выдает ошибка

SQLState = 08001, NativeError = -1
Error = [Microsoft][ODBC Driver 11 for SQL Server]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
SQLState = 08001, NativeError = -1
Error = [Microsoft][ODBC Driver 11 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is config
ured to allow remote connections. For more information see SQL Server Books Online.
SQLState = S1T00, NativeError = 0
Error = [Microsoft][ODBC Driver 11 for SQL Server]Login timeout expired
NULL

Как разобраться

Если есть другие варианты помогите! Очень важно!

Проблемы репликации

$
0
0
Коллеги, всем привет.

Изучаю новый для себя функционал: репликацию.

По инструкции настроил базу данных распространителя, подготовил учетку для всех агентов репликации.
Выбрал тип: репликацию транзакций.
Настроил простейшую публикацию из одной небольшой таблицы. Публикация создалась. Все параметры по умолчанию. Никаких расписаний работы агентов не настраивал.
Сервер издателя и распространителя один и тот же.
Дальше пошел настраивать подписку на другом сервере(пробовал и принудительную, на сервере распространителя).
Настроил подписку, запустил. Реплицированной таблицы не наблюдаю на подписчике.

Решил посмотреть состояния агентов репликации:
Агент моментальных снимков: [100%] Сформирован моментальный снимок 1 статьи.
Агент чтения журнала: "Реплицированные транзакции ожидают следующего резервного копирования журнала или устранения отставания участника зеркального отображения.".
Тут уже закрались подозрения, что это как-то связано с зеркалированием.
База данных издателя находится в зеркале, точнее находилась. Сейчас в статусе "Участник\приостановлен".

Решил еще проверить состояние синхронизации на подписчике:
"Задание успешно выполнено. Запуск задания был произведен Пользователь sa. Последним выполнявшимся шагом был шаг 1 (Run agent.).".
Там же на подписчике проверяю журнал заданий. Вроде бы шаги завершены без ошибок.
Но, вот текст одного из шагов:
+
Дата 06.03.2019 17:26:18
Журнал Журнал заданий (DB-23-Control-TestPub2-DB-22-ccolog-8B1C83C4-2163-4A82-948E-8984081E672A)

Идентификатор шага 1
Сервер DB-22
Имя задания DB-23-Control-TestPub2-DB-22-ccolog-8B1C83C4-2163-4A82-948E-8984081E672A
Имя шага Run agent.
Продолжительность 00:00:11
Серьезность Sql 0
Идентификатор Sql-сообщения 0
Оператору отправлено сообщение электронной почты
Оператору отправлено сообщение командой Net send
Оператору отправлено сообщение на пейджер
Предпринято повторов 0

Сообщение
2019-03-06 14:26:18.226 (c) ╩юЁяюЁрЎш  ╠рщъЁюёюЇЄ (Microsoft Corporation), 2016
2019-03-06 14:26:18.226 └ухэЄ ЁхяышърЎшш Microsoft SQL Server: distrib
2019-03-06 14:26:18.226
2019-03-06 14:26:18.226 ╠хЄъш тЁхьхэш фюсртыхээ√х ъ ёЄЁюърь т√їюфр юЄюсЁрцр■Єё  т ЇюЁьрЄх UTC (яю ├Ёшэтшўє).
2019-03-06 14:26:18.226 ╙ърчрээ√х яюы№чютрЄхыхь чэрўхэш  ярЁрьхЄЁют рухэЄр:
-Publisher DB-23
-PublisherDB Control
-Publication TestPub2
-Distributor DB-23
-SubscriptionType 1
-Subscriber DB-22
-SubscriberSecurityMode 1
-SubscriberDB ccolog
-XJOBID 0xFC995F3ED8EC53439301589B5C9F23C9
-XJOBNAME DB-23-Control-TestPub2-DB-22-ccolog-8B1C83C4-2163-4A82-948E-8984081E672A
-XSTEPID 1
-XSUBSYSTEM Distribution
-XSERVER DB-22
-XCMDLINE 0
-XCancelEventHandle 0000000000001F70
-XParentProcessHandle 0000000000002288
2019-03-06 14:26:18.226 Startup Delay: 8038 (msecs)
2019-03-06 14:26:26.290 ╤юхфшэхэшх ё ╧юфяшёўшъ "DB-22"
2019-03-06 14:26:26.321 ╤юхфшэхэшх ё ╨рёяЁюёЄЁрэшЄхы№ "DB-23"
2019-03-06 14:26:29.399 The concurrent snapshot for publication 'TestPub2' is not available because it has not been fully generated or the Log Reader Agent is not running to activate it. If generation of the concurrent snapshot was interrupted, the Snapshot Agent for the publica

Пока не разбирался, откуда там кракозябры.
Суть, как я понимаю, в последнем шаге: "The concurrent snapshot for publication 'TestPub2' is not available because it has not been fully generated or the Log Reader Agent is not running to activate it. If generation of the concurrent snapshot was interrupted, the Snapshot Agent for the publica".
Моментальный снимок сделан, а вот с агентом чтения журнала не понятно.
Подскажите, направьте, куда копать, что делать, это связано с зеркалированием? А то функционал для меня новый.
---
Проходя мимо разложенных граблей, ты теряешь драгоценный опыт. (с)

Список всех таблиц БД

$
0
0
Здравствуйте!

Произошёл затык, не могу понять в чём дело.

SELECT * FROM sys.objects WHERE type in (N'U')


Два сервера, на одном (SQL 2005) данная команда возвращает все таблицы (их ~250 штук) из БД. На другом (SQL 2016) та же команда возвращает 5 таблиц (spt_fallback_db, spt_monitor, spt_fallback_dev.... и т.д.) и не хочет возвращать список ~ такого же числа таблиц из БД.

а ещё я много чего пробовал
вот такое
select * from INFORMATION_SCHEMA.TABLES


всё равно нет списка таблиц

В чём моя ошибка?
Спасибо!

SSIS Script task

$
0
0
Помогите побороть ошибку - Exception has been thrown by the target of an invocation

В пакете всего 1-н Script task
Exception вылетает раньше чем Main(), т.е. поставить брейкпоинт - не вариант

Методом тыка определил что вроде как это по причине использования кастомной DLL
Но в скрипте используются несколько DLL-ей.
Почему по причине только этой 1й - непонятно...

в сетях пишут этот генерик Exception может быть по причине
попытки прочитать/записать переменную из Variables если она не выбрана в скрипте ReadVars/WriteVars

Еще вариант положить DLL в %ProgramFiles%\Microsoft SQL Server\version\DTS\Binn

Все мимо...

Есть еще у кого идеи ?

+
Картинка с другого сайта.

Непонятное мне поведение запроса

$
0
0
Есть БД выгрузки с Фронтола в 1С Рарус ТКПТ. В ней две таблицы CURRESTS и CASHSAIL.
В каждой таблице по две кассы за которые отвечает столбец CASHNUMBER.
Может принимать значение 1 или 3. Т.е. первая или третья касса.
Следующий запрос не хочет возвращать данные по кассе 3.

USE CashLakomka
SELECT
CURRESTS.CASHNUMBER AS CASHNUMBER,
CURRESTS.ZNUMBER AS ZNUMBER,
CURRESTS.[SDATE] AS SDATE,
ISNULL(CURRESTS.[STIME],0) AS STIME,
Sum(CASHSAIL.TOTALRUB*CASE WHEN (CASHSAIL.OPERATION=0 OR CASHSAIL.OPERATION=2 OR CASHSAIL.OPERATION=4) AND CASHSAIL.QUANTITY>0 THEN -1 ELSE 1 END) AS SUMMA
FROM
CURRESTS AS CURRESTS
INNER JOIN CASHSAIL
ON ISNULL(CURRESTS.SDATEZ,0)=ISNULL(CASHSAIL.SDATEZ,0) AND (CASHSAIL.CASHNUMBER=CURRESTS.CASHNUMBER) AND (CASHSAIL.ZNUMBER=CURRESTS.ZNUMBER) AND (CASHSAIL.USINGINDEX=1) AND (CASHSAIL.SHOPINDEX=CURRESTS.SHOPINDEX)
WHERE
CURRESTS.CASHNUMBER IN (1,3) AND (CURRESTS.SDATE BETWEEN CONVERT(datetime, '04/3/2019 00:00:00', 104) AND CONVERT(datetime, '06/3/2019 00:00:00', 104))
GROUP BY
CURRESTS.[SDATE],
CURRESTS.[STIME],
CURRESTS.CASHNUMBER,
CURRESTS.ZNUMBER
HAVING
(Sum(CASHSAIL.TOTALRUB)<>0)
ORDER BY
CURRESTS.[SDATE],
CURRESTS.[STIME],
CURRESTS.CASHNUMBER,
CURRESTS.ZNUMBER

Результат запроса на картинке

Запуск ХП после записи в таблицу

$
0
0
Здравствуйте!))
Задача следующая. Есть таблица, которая заполняется программой - удаляет данные за день и записывает новые (запускается человеком), не каждый день.
Требуется после записи всех данных, запустить хранимую процедуры. Которая уже из этих данных будет формировать новую. Точнее перезаписывать или добавлять.

Перевод процедуры Interbase с циклом For на MS SQL.

$
0
0
Всем доброго времени суток! Снова задача перевести ХП Interbase на MS SQL. Есть таблица grafik, там у машин (nmash) время начала (vrem_begin), время конца (vrem_end), дата (data), смена (nsm), код (kod) и всего потраченного времени на каждый код (vsego).
Время конца текущей записи - это время начала следующей записи, к примеру -

Машина Код Время начала Время конца

№3 10 07.03.2019 08:00 07.03.2019 08:20
№3 15 07.03.2019 08:20 07.03.2019 08:55
№3 10 07.03.2019 08:55 07.03.2019 12:30


Вот сама ХП -

[SRC PLSQL][src]for  select nmash,vrem_begin from grafik where data=:IN_DATE and nsm=:IN_NCM  order by neks,vrem_begin into :ne_,:vb_  /*выбрали все записи по всем машинам*/
       do begin

       select vrem_begin from grafik where nmash=:ne_ and data=:in_date
           and vrem_begin>:vb_ and nsm=:in_ncm order by vrem_begin rows 1 into :out_dat; /*out_dat это vrem_begin след.записи*/

       begin
       if (:out_dat is not null) then  begin /*есть запись с временем конца*/
               ve_=:out_dat;
               update grafik set vrem_end=:ve_,vsego=(:ve_-:vb_)*24 where nmash=:ne_ and data=:in_date and vrem_begin=:vb_ and 
                          nsm=:in_ncm;
       end

        if (:out_dat is  null) then  begin /*нет записи с временем конца*/
        update grafikd set vrem_end=:in_kon,vsego=(:in_kon-:vb_)*24  where nmash=:ne_ and data=:in_date and vrem_begin=:vb_ and 
                         nsm=:in_ncm;     /*обновляет посл.запись*/

         end
         out_dat =null;
       end
     end
[/SRC][/SRC]


Как можно это реализовать в MS SQL без курсоров? Делать с помощью временной таблицы? А как тогда построчно пройтись? Заранее спасибо.

Почему такой зверский план выполнения?!!!

$
0
0
Всем привет!

Вот такой запрос (вместо многоточий между фигурными скобками где-то килобайт в синтаксисе JSON):
MERGE FileMetaData.[File] AS TARGET
USING (VALUES
	( 111, '2019-03-07 08:21:50', N'{ ... }' ),
	( 222, '2019-03-07 08:21:50', N'{ ... }' ),
	......
	( 999, '2019-03-07 08:21:50', N'{ ... }' )
) AS SOURCE(
	Id, LastScanTime, MetaInfo
) ON 1=1
	AND TARGET.Id = SOURCE.Id
WHEN MATCHED THEN
	UPDATE SET
		MetaInfo     = SOURCE.MetaInfo,
		LastScanTime = SOURCE.LastScanTime;


Пораждает какой-то дикий execution plan (на картинке).
Почему так?

Хранимая процедура

$
0
0
Нужно: Вычислить дату оконча-ния срока договора из таблицы Договора как дата заклюю-чения дого-вора + срок действия дого-вора (* номер договора задавать как параметр)

Исправьте ошибки:
CREATE PROCEDURE XXX
@nomer_dog int
AS
BEGIN
SELECT * , [дата заключения]+[срок действия договора]
FROM Договора
WHERE [№ договора]=@nomer_dog
END
GO

Что лучше для аналитических запросов?

$
0
0
1 таблица с 3 полями и 1 лярд записей

или

1 таблица 100 полей и 10 миллионов записей

Спвсибо

OPENQUERY from MySQL, вопросы

$
0
0
Здравствуйте!
Посоветуйте как быть!
Мне надо заливать в таблицу MySQL приблизительно 30000 строк, думаю это сделать предварительным delete а потом insert
НО
delete from openquery([TESTMySQLNEW],'SELECT IDPart FROM watchtest.NewTestLebed')


30000 строк в MySQL удаляются 10 минут!!! Может есть какие-то другие варианты как сделать такое?
Спасибо!

изменить коллейшн БД

$
0
0
Здравствуйте Господа,
пытаюсь изменить коллейшн у базы

ALTER DATABASE XXX SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE XXX COLLATE SQL_Latin1_General_CP1251_CI_AS   
ALTER DATABASE XXX SET MULTI_USER;


Получаю два десятка таких ошибок

Msg 5075, Level 16, State 1, Line 3
The object 'XXXXXXXXXXXX' is dependent on database collation. The database collation cannot be changed if a schema-bound object depends on it. Remove the dependencies on the database collation and then retry the operation.


Что можно сделать в данной ситуации?

Также получаю

FILESTREAM DIRECTORY_NAME 'XXXX' attempting to be set on database 'XXX' is not unique in this SQL Server instance. Provide a unique value for the database option FILESTREAM DIRECTORY_NAME to enable non-transacted access.

Версия
Microsoft SQL Server 2016 (SP1-CU2) (KB4013106) - 13.0.4422.0 (X64) Mar 6 2017 14:18:16 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2016 Datacenter 6.3 <X64> (Build 14393: ) (Hypervisor)

Хранимая процедура с курсором

$
0
0
Написал хранимую процедуру с использование курсора.
CREATE PROCEDURE [dbo].[Search_goods] @GoodsId AS INT, @number_in as int, @DocId as int output
AS
declare @cur cursor; 
set @cur=cursor for select p.DocId
from Party p
inner join Prihod h on (p.DocId=h.PrihodId) and p.VidDoc=1
left outer join rashod r on (p.DocId=r.RashodId) and p.VidDoc=2 and r.GoodsId=h.GoodsID 
inner join Warehouse w on (p.WarehouseId=w.WarehouseId)
where (h.Number -
CASE WHEN r.Number IS NULL THEN 0 ELSE r.Number END)>0
and p.GoodsId=@GoodsId
order by h.DatePrihod, h.TimePrihod

OPEN @cur
FETCH NEXT FROM @cur into @DocId
WHILE @@FETCH_STATUS = 0
BEGIN
	FETCH NEXT FROM @cur into @DocId 
   
END
close @cur;
deallocate @cur;


Результат должен быть
11
12
13

declare @DocId int
exec Search_goods 
        @GoodsId = 5,
	@number_in = 12,
	@DocId=@DocId  OUTPUT
SELECT 	@DocId


Получаю на выходе только последнюю запись, значение 13. Что не так делаю? Помогите разобраться.

Резидентная (бесконечная) задача - лучше триггером или джобом?

$
0
0
Здравствуйте

Задача - рилтайм заливка данных по odbc в базу, и там по поступлению - оперативная обработка.
Не очень сложная, но оперативность нужна максимально возможная.
Особенность в том, что могут быть разрывы связи.
После этого в худшем случае будет перезаливка данных в размере 1млн. записей)))
Это до 50 мб примерно.
Причем льется и последнее самое, и история вперемешку))
Контроль будет по еще одной таблички, там примерно последние данные
Так что можно оценить примерно что подтянулось уже... как-то))
Самый оперативный расчет-1 делается по данным за последние секунды
Фоном идет расчет-2 чуть большего диапазона, его можно раз в минуту, например

Идеи:
1. Заливка в таблицу оптимизированную для памяти.
2. Обработка либо триггером на вставку либо всё-таки в хранимой процедуре, вызываемой по джобу, в бесконечном цикле в ней.
(можно перезапускать раз в час, например).

Текущее содержимое завязать с другой таблицей, вставить итог в третью на обработку, далее можно переносить обработанное.
Может даже и индексы по буферной таблице делать не придется, чтобы вставку не замедляли.
Либо вью сделать...
Это промежуточная таблица, видимо.
С неё потом скидывать в обычную периодически.

В общем, пока вопрос, на что лучше ориентироваться - триггер или хранимая процедура с бесконечным циклом.
Но там WAITFOR нежелателен никакой вообще, просто молотить что есть постоянно.
И если там минимальная пауза 1 сек, то не устроит.
А если без этого, то как к такому сервер отнесется?)))

Скорее всего заливка там идет по одной записи
То есть триггер будет на каждую включаться
Последовательные вызовы не перекроют друг друга в таком бешеном темпе?
Не работал с триггерами, не знаю. Ждут друг друга?

Заранее спасибо за рекомендации.

Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)

sqlcmd

$
0
0
Коннект вроде проходит
sqlcmd -S ip -U user -P pswd

Если неверный пароль или айпи ввожу - кидает ошибку, а так просто показывает 1> и cmd наверху становится sqlcmd
Но вот дальше ничего не делается.
пишу sqlcmd -S ip -U user -P pswd -Q "CREATE DATABASE SampleDB;"
в ответ просто 2> на сервере база не появляется
что не так?

ps. sqlcmd нужен для работы с питоном
Viewing all 7251 articles
Browse latest View live