某單位新N中G大,于2016年底,升級, 18年4月底,發現16年結賬問題,會計操作了一下,結果2017年年度帳套打不開了,這兩年數據沒有備份,或者有也刪除了,另外數據庫涉及兩個模塊,都沒有備份。 怎么處理也不好。結賬重建,導入數據庫表,不行。 1、修復賬務系統, 年結->初始化->導入通信錄->導入全年憑證->依次結賬->年結->備份2017帳套 2、sqlserver 服務器主體 ’ng’無法在當前安全上下文下訪問數據庫user012017 sqlserver 服務器主體 無法在當前安全上下文下訪問數據庫。 在網上找了一下資料,發現是因為trustworthy數據庫屬性用于指明 SQL Server 實例是否信任該數據庫以及其中的內容。默認情況下,此設置為 OFF,但是可以使用 ALTER DATABASE 語句將其設置為 ON。 查看哪些數據庫開了trustworthy屬性,命令如下: SELECT name, database_id, is_trustworthy_on FROM sys.databases,默認就msdb開的有。 要打開數據庫trustworthy屬性,命令如下: 
ALTER DATABASE user012017 SET TRUSTWORTHY ON 授權用戶訪問,命令如下: ALTER AUTHORIZATION ON DATABASE::user012017 TO [ng] 操作結束后發現,軟件可以對數據庫進行訪問,庫存系統登錄已經正常, 但是賬務系統要初始化,恢復修復好的帳套數據即可。
 
以下半角的雙引號,要改為半角的單引號,才能用;[因為網站后臺原因造成對單引號的轉換錯誤] DECLARE @value  VARCHAR(1024) set @value=“需要查找的字符串“ SET NOCOUNT ON DECLARE @sql VARCHAR(1024) DECLARE @table VARCHAR(64) DECLARE @column VARCHAR(64) CREATE TABLE #t (     tablename VARCHAR(64),     columnname VARCHAR(64) ) DECLARE TABLES CURSOR FOR SELECT o.name, c.name FROM syscolumns c INNER JOIN sysobjects o ON c.id = o.id WHERE o.type = “U“ AND c.xtype IN (167, 175, 231, 239) ORDER BY o.name, c.name OPEN TABLES FETCH NEXT FROM TABLES  INTO @table, @column WHILE @@FETCH_STATUS = 0 BEGIN     SET @sql = “IF EXISTS ( SELECT NULL FROM [“ + @table + “] “     SET @sql = @sql + “WHERE RTRIM(LTRIM([“ + @column + “])) LIKE ““%“ + @value + “%““) “     SET @sql = @sql + “INSERT INTO #t VALUES (“““ + @table + “““, “““     SET @sql = @sql + @column + “““)“     EXEC(@sql)     FETCH NEXT FROM TABLES  INTO @table, @column END CLOSE TABLES DEALLOCATE TABLES SELECT * FROM #t DROP TABLE #t  |