Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
TaPaK
aptom,

в пол
SELECT [Message] FROM #Result


в принципе так и сделал только теперь не понятно висит или что то делает
8 ноя 16, 17:30    [19871495]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
aptom,

не очень понятно что вы вообще от того скрипта хотите? получить набор для подсчёта количества?
8 ноя 16, 17:35    [19871529]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
TaPaK
не очень понятно что вы вообще от того скрипта хотите? получить набор для подсчёта количества?

Видимо, он хотел из другого окошка наблюдать за ходом операции.

aptom,
## в помощь
8 ноя 16, 17:36    [19871546]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
aptom
TaPaK
aptom,

в пол
SELECT [Message] FROM #Result


в принципе так и сделал только теперь не понятно висит или что то делает

оно что-то делает.
не надо было во времянку класть, в постоянную лучше,
селектил бы себе сейчас и радовался пополнению списка битых таблиц.
...но можно отслеживать пополнение новой базы, куда переливаем
8 ноя 16, 17:37    [19871559]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
o-o,

так нет никакого перелива, просто строки генерятся, не видит ничего потому что не выкинуло пачкой
8 ноя 16, 17:39    [19871573]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
да блин, там в курсоре что, подсчет каунтов?
это вам кто посоветовал, товарищ-курсороненавистник???
в курсоре в динамике надо собирать не каунты, а селект инту.
8 ноя 16, 17:40    [19871577]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
я что-то не хочу все перечитывать,
но ведь обзывающийся некрофилами по сути дал верный курсор 19870164,
в нем перелив данных, откуда вылез подсчет строк?
8 ноя 16, 17:43    [19871595]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
o-o,

мне нужно пробежаться по таблицам и понять какие живые какие нет и вывести в табличку
Есть способ проще и лучше ?
8 ноя 16, 17:44    [19871599]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
o-o
я что-то не хочу все перечитывать,
но ведь обзывающийся некрофилами по сути дал верный курсор 19870164,
в нем перелив данных, откуда вылез подсчет строк?



IF OBJECT_ID('tempdb..#Result') IS NOT NULL DROP TABLE #Result
CREATE TABLE #Result ([Message] VARCHAR(MAX) )

DECLARE @sql VARCHAR(MAX) ,
@tablename VARCHAR(MAX)

DECLARE droptable CURSOR FOR
SELECT name
FROM upps.sys.tables
--where
--name<>'_AccumRgT22986'and
--name<>'_AccumRg30738' and
--name<>'_AccumRgT23011' and
--name<>'_AccumRg28109' and
--name<>'_AccumRgT22208' and
--name<>'_AccumRgT22230' and
--name<>'_Document552_VT15444' and
--name<>'_AccRg1585' and
--name<>'_AccRgAT21606' and
--name<>'_AccRgED1609' and
--name<>'_AccRgAT31637' and
--name<>'_AccumRg32234' and
--name<>'_AccRgED1639' and
--name<>'_Document28327_VT29460' and
--name<>'_AccumRgT32243' and
--name<>'_Seq23349' and
--name<>'_AccumRgT22343' and
--name<>'_AccumRgT21395' and
--name<>'_AccumRgT22366' and
--name<>'_AccumRgT22464' and
--name<>'_Document365' and
--name<>'_AccumRgT21819' and
--name<>'_AccumRgT21829' and
--name<>'_Document24413_VT24596' and
--name<>'_Document343_VT6558' and
--name<>'_AccumRg21238' and
--name<>'_AccumRgT32137' and
--name<>'_Reference153_VT26496' and
--name<>'_Reference267'


OPEN droptable
FETCH NEXT FROM droptable
INTO @tablename
WHILE @@FETCH_STATUS = 0
SET NOCOUNT ON;
BEGIN
SET @sql = 'select count(*) from upps.dbo.'+ @tablename
PRINT @sql
begin try
EXEC (@sql)
end try
BEGIN CATCH



INSERT INTO #Result ([Message]) VALUES (ERROR_MESSAGE())
END CATCH;
SET NOCOUNT off;
FETCH NEXT
FROM droptable
INTO @tablename
END

CLOSE droptable
DEALLOCATE droptable
go

select * from #Result


сейчас вот так
8 ноя 16, 17:47    [19871615]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
aptom,

а как вы по цифрам определите живые таблицы?
и да всё равно вывалится на количестве резалтсетов

IF OBJECT_ID('tempdb..##OKTable') IS NOT NULL DROP TABLE ##OKTable
CREATE TABLE ##OKTable ([Name] VARCHAR(512), Cnt INT )


SET @sql = 'insert into ##OKTable([Cnt],[name]) select count(*), '+@tablename + ' from upps.dbo.'+ @tablename


как то так... и смотрите с соседнего
8 ноя 16, 17:54    [19871656]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
SET NOCOUNT ON;

IF OBJECT_ID('dbo.CorruptedTables') IS NOT NULL DROP TABLE dbo.CorruptedTables
CREATE TABLE dbo.CorruptedTables (tbl sysname)

DECLARE @sql VARCHAR(MAX) ,
    @tablename sysname;

DECLARE droptable CURSOR FOR 
SELECT name
FROM upps.sys.tables 
--where 
--name<>'_AccumRgT22986'and 
--name<>'_AccumRg30738' and 
--name<>'_AccumRgT23011' and 
--name<>'_AccumRg28109' and 
--name<>'_AccumRgT22208' and 
--name<>'_AccumRgT22230' and 
--name<>'_Document552_VT15444' and 
--name<>'_AccRg1585' and 
--name<>'_AccRgAT21606' and 
--name<>'_AccRgED1609' and 
--name<>'_AccRgAT31637' and 
--name<>'_AccumRg32234' and 
--name<>'_AccRgED1639' and 
--name<>'_Document28327_VT29460' and 
--name<>'_AccumRgT32243' and 
--name<>'_Seq23349' and 
--name<>'_AccumRgT22343' and 
--name<>'_AccumRgT21395' and 
--name<>'_AccumRgT22366' and 
--name<>'_AccumRgT22464' and 
--name<>'_Document365' and 
--name<>'_AccumRgT21819' and 
--name<>'_AccumRgT21829' and 
--name<>'_Document24413_VT24596' and 
--name<>'_Document343_VT6558' and 
--name<>'_AccumRg21238' and 
--name<>'_AccumRgT32137' and 
--name<>'_Reference153_VT26496' and 
--name<>'_Reference267'


OPEN droptable
FETCH NEXT FROM droptable 
INTO @tablename
WHILE @@FETCH_STATUS = 0 

    BEGIN
SET @sql = 'SELECT * INTO '+ @tablename +' FROM upps.'+ @tablename
 --       PRINT @sql
begin try        
EXEC (@sql)
end try
BEGIN CATCH
	INSERT INTO dbo.CorruptedTables(tbl) VALUES (@tablename)
END CATCH;
        FETCH NEXT
   FROM droptable
   INTO @tablename
    END

CLOSE droptable
DEALLOCATE droptable
go

--select * from dbo.CorruptedTables
8 ноя 16, 17:54    [19871657]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
o-o
SET NOCOUNT ON;

IF OBJECT_ID('dbo.CorruptedTables') IS NOT NULL DROP TABLE dbo.CorruptedTables
CREATE TABLE dbo.CorruptedTables (tbl sysname)

DECLARE @sql VARCHAR(MAX) ,
    @tablename sysname;

DECLARE droptable CURSOR FOR 
SELECT name
FROM upps.sys.tables 
--where 
--name<>'_AccumRgT22986'and 
--name<>'_AccumRg30738' and 
--name<>'_AccumRgT23011' and 
--name<>'_AccumRg28109' and 
--name<>'_AccumRgT22208' and 
--name<>'_AccumRgT22230' and 
--name<>'_Document552_VT15444' and 
--name<>'_AccRg1585' and 
--name<>'_AccRgAT21606' and 
--name<>'_AccRgED1609' and 
--name<>'_AccRgAT31637' and 
--name<>'_AccumRg32234' and 
--name<>'_AccRgED1639' and 
--name<>'_Document28327_VT29460' and 
--name<>'_AccumRgT32243' and 
--name<>'_Seq23349' and 
--name<>'_AccumRgT22343' and 
--name<>'_AccumRgT21395' and 
--name<>'_AccumRgT22366' and 
--name<>'_AccumRgT22464' and 
--name<>'_Document365' and 
--name<>'_AccumRgT21819' and 
--name<>'_AccumRgT21829' and 
--name<>'_Document24413_VT24596' and 
--name<>'_Document343_VT6558' and 
--name<>'_AccumRg21238' and 
--name<>'_AccumRgT32137' and 
--name<>'_Reference153_VT26496' and 
--name<>'_Reference267'


OPEN droptable
FETCH NEXT FROM droptable 
INTO @tablename
WHILE @@FETCH_STATUS = 0 

    BEGIN
SET @sql = 'SELECT * INTO '+ @tablename +' FROM upps.'+ @tablename
 --       PRINT @sql
begin try        
EXEC (@sql)
end try
BEGIN CATCH
	INSERT INTO dbo.CorruptedTables(tbl) VALUES (@tablename)
END CATCH;
        FETCH NEXT
   FROM droptable
   INTO @tablename
    END

CLOSE droptable
DEALLOCATE droptable
go

--select * from dbo.CorruptedTables


а зачем кудато что то select into надо ведь только проверить живая или нет это же быстрее чем копировать куда то таблицу .
8 ноя 16, 18:02    [19871698]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
aptom,
автор
а зачем кудато что то select into надо ведь только проверить живая или нет это же быстрее чем копировать куда то таблицу .

и по результатам застрелиться или открывать шампанское?:)
8 ноя 16, 18:04    [19871706]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
aptom
o-o
SET NOCOUNT ON;

IF OBJECT_ID('dbo.CorruptedTables') IS NOT NULL DROP TABLE dbo.CorruptedTables
CREATE TABLE dbo.CorruptedTables (tbl sysname)

DECLARE @sql VARCHAR(MAX) ,
    @tablename sysname;

DECLARE droptable CURSOR FOR 
SELECT name
FROM upps.sys.tables 
--where 
--name<>'_AccumRgT22986'and 
--name<>'_AccumRg30738' and 
--name<>'_AccumRgT23011' and 
--name<>'_AccumRg28109' and 
--name<>'_AccumRgT22208' and 
--name<>'_AccumRgT22230' and 
--name<>'_Document552_VT15444' and 
--name<>'_AccRg1585' and 
--name<>'_AccRgAT21606' and 
--name<>'_AccRgED1609' and 
--name<>'_AccRgAT31637' and 
--name<>'_AccumRg32234' and 
--name<>'_AccRgED1639' and 
--name<>'_Document28327_VT29460' and 
--name<>'_AccumRgT32243' and 
--name<>'_Seq23349' and 
--name<>'_AccumRgT22343' and 
--name<>'_AccumRgT21395' and 
--name<>'_AccumRgT22366' and 
--name<>'_AccumRgT22464' and 
--name<>'_Document365' and 
--name<>'_AccumRgT21819' and 
--name<>'_AccumRgT21829' and 
--name<>'_Document24413_VT24596' and 
--name<>'_Document343_VT6558' and 
--name<>'_AccumRg21238' and 
--name<>'_AccumRgT32137' and 
--name<>'_Reference153_VT26496' and 
--name<>'_Reference267'


OPEN droptable
FETCH NEXT FROM droptable 
INTO @tablename
WHILE @@FETCH_STATUS = 0 

    BEGIN
SET @sql = 'SELECT * INTO '+ @tablename +' FROM upps.'+ @tablename
 --       PRINT @sql
begin try        
EXEC (@sql)
end try
BEGIN CATCH
	INSERT INTO dbo.CorruptedTables(tbl) VALUES (@tablename)
END CATCH;
        FETCH NEXT
   FROM droptable
   INTO @tablename
    END

CLOSE droptable
DEALLOCATE droptable
go

--select * from dbo.CorruptedTables


а зачем кудато что то select into надо ведь только проверить живая или нет это же быстрее чем копировать куда то таблицу .


Как это так быстро отработало ???? что в результате я не понял если честно
8 ноя 16, 18:05    [19871712]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
aptom
aptom
пропущено...


а зачем кудато что то select into надо ведь только проверить живая или нет это же быстрее чем копировать куда то таблицу .


Как это так быстро отработало ???? что в результате я не понял если честно


проверил вывело все в теблицу ошибок
8 ноя 16, 18:11    [19871725]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
aptom
что в результате я не понял если честно

select * from dbo.CorruptedTables
8 ноя 16, 18:12    [19871727]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
поди не в той базе запускали?
у меня идет вставка в текущую базу.
вот оно и вывалило все как ошибочное,
ибо объекты существуют.
или допишите название новой базы вот тут:
'SELECT * INTO NewDB.dbo.'+ @tablename +' FROM upps.'+ @tablename
или в ней же(новой базе) и запускайте
8 ноя 16, 18:15    [19871737]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
o-o
поди не в той базе запускали?
у меня идет вставка в текущую базу.
вот оно и вывалило все как ошибочное,
ибо объекты существуют.
или допишите название новой базы вот тут:
'SELECT * INTO NewDB.dbo.'+ @tablename +' FROM upps.'+ @tablename
или в ней же(новой базе) и запускайте


ужее допинал и запустил
8 ноя 16, 18:19    [19871756]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
aptom
o-o
поди не в той базе запускали?
у меня идет вставка в текущую базу.
вот оно и вывалило все как ошибочное,
ибо объекты существуют.
или допишите название новой базы вот тут:
'SELECT * INTO NewDB.dbo.'+ @tablename +' FROM upps.'+ @tablename
или в ней же(новой базе) и запускайте


ужее допинал и запустил




все закончилось на 3114 таблице

Msg 211, Level 23, State 51, Line 1
Possible schema corruption. Run DBCC CHECKCATALOG.
Msg 0, Level 20, State 0, Line 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.
8 ноя 16, 18:50    [19871845]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
у вас же есть восстановленная из бэкапа копия.
всегда можете сравнить, cколько всего должно быть таблиц и какие именно не читаются.
если это критичные таблицы не прочлись, придется использовать базу из бэкапа
8 ноя 16, 19:10    [19871896]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
aptom
aptom
пропущено...


ужее допинал и запустил




все закончилось на 3114 таблице

Msg 211, Level 23, State 51, Line 1
Possible schema corruption. Run DBCC CHECKCATALOG.
Msg 0, Level 20, State 0, Line 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.


Есть вариант перепрыгнуть курсором на нужную строку и поехать дальше ?
8 ноя 16, 19:11    [19871897]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
Bujhm
Member

Откуда: M
Сообщений: 7
aptom,

перекинь таблицу 3114 из последней работающей копии БД.

В 1С , в режиме конфигуратора в эту базу вход нормальный ?
8 ноя 16, 19:24    [19871928]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
Вставьте в определение курсора and name >...
Подставьте туда таблицу, на которой упало.
8 ноя 16, 19:25    [19871932]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
aptom
Member

Откуда:
Сообщений: 102
ВСЕ ТАБЛИЦЫ СКОПИРОВАЛ НЕДОСТАЮЩИЕ ПЕРЕНЕС
РЕГИСТРЫ НАКОПЛЕНИЯ НЕ ЗАПОЛНЯЛ
НЕ ВЗЛЕТАЕТ
ПРИ ПОПЫТКЕ
ПОДКЛЮЧЕНИЯ ИЗ 1С СЕРВЕРА ОШИБКА ФОРМАТА ПОТОКА
Модератор: Не орите, не в лесу


Сообщение было отредактировано: 9 ноя 16, 00:37
8 ноя 16, 21:46    [19872192]     Ответить | Цитировать Сообщить модератору
 Re: Ищу специалиста для восстановления базы 1с ms sql 2005  [new]
o-o
Guest
с этим надо в форум по 1С,
это какая-то его ошибка, не серверная
8 ноя 16, 22:12    [19872276]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить