|
MS SQL Server нулевое смещение дат. Можно ли установить в процессе работы базы? |
☑ |
0
citrus
17.05.11
✎
23:46
|
При развертывании SQL базы не было указано смещение дат. Сейчас в процессе работы иногда возникают из-за этого ошибки.
вопрос: можно ли в консоли сервера 1С установить смещение дат уже на рабочей базе?
|
|
1
Rodger
18.05.11
✎
00:13
|
(0) делай выгрузку и загрузку базы
|
|
2
Господин ПЖ
18.05.11
✎
00:15
|
лечится выгрузкой/загрузкой с лазеньем в таблицу _YearOffSet между действиями
|
|
3
citrus
18.05.11
✎
00:16
|
выгрузкой походу не отделаться.
надо новую базу в кластере созадавать
|
|
4
Господин ПЖ
18.05.11
✎
00:17
|
еще как вариант
Declare TablesAndFields cursor for
SELECT objects.name as Tablename, columns.name as columnname
FROM
dbo.sysobjects as objects
left join dbo.syscolumns as columns
on objects.id = columns.id
where objects.xtype = 'U'
and columns.xtype = 61
open TablesAndFields
Declare @TableName as varchar(100)
Declare @ColumnName as varchar(100)
FETCH NEXT FROM TablesAndFields
into @TableName, @ColumnName
WHILE @@FETCH_STATUS = 0
BEGIN
Exec ('update ' + @TableName + '
set ' + @ColumnName + ' = dateAdd(year,-2000,'+@ColumnName+')
where ' + @ColumnName + ' > ''3999-12-31 23:59:59''')
-- This is executed as long as the previous fetch succeeds.
FETCH NEXT FROM TablesAndFields
into @TableName, @ColumnName
END
close TablesAndFields
deallocate TablesAndFields
update dbo._YearOffset set Offset=0
|
|
5
citrus
18.05.11
✎
00:18
|
как сложно
|
|
6
Fragster
гуру
18.05.11
✎
00:31
|
(4) наоборот, надо прибавлять 2к, а не убавлять, ибо это скуль не знает дат до 1753 года, а не 1с
|
|
7
Господин ПЖ
18.05.11
✎
00:37
|
(6) мопед не мой... по сути ты прав конечно
|
|
8
Господин ПЖ
18.05.11
✎
00:40
|
подожди, почему прибавлять? скуль не знает и при (0) ставит дату +2000 лет.
|
|
9
Fragster
гуру
18.05.11
✎
07:29
|
(8) не, скуль не знает и отказывается записывать, из-за этого АО из файловых баз, где криворукие юзеры навбивали 211 год не загружается. а если смещение дат 2000, то все даты в скуль пишутся на 2000 лет вперед и все прокатывате, так как вместо 211 пишется 2211, вместо 2011, 4011 год, 1ска сама этим рулит
|
|