Ciao, il
I ha ottenuto il seguente
Msg 3930, Sev 16, la condizione 1, la linea 29 di errore: La transazione corrente non può essere commessa e non può sostenere i funzionamenti che scrivono alla lima di ceppo. Rotolare indietro la transazione. [SQLSTATE 42000]. PROCEDURA del is
CREATE di codice del
the [dbo]. [DBA_MaintenancePlan] il @dbList del varchar (1000) = , @AllDBs ha morso = 0 , @UserDBs pungenti = 0 , @SystemDBs pungenti = 0 , @excludeList varchar (1000) = , il , il , il , il , il , il , il , il , @CHECK_DOW del @BackupDB bit=0 del @BackupLog bit=0 del @INIT bit=0 del @DIFF bit=0 del @CHECKDB bit=0 del @CHECKCATALOG bit=0 del @CHECKALLOC bit=0 del @CHECK_COMPREHENSIVE bit=0 int = , il , il , il , @OPT_IndexFillFactor del @OPT_REFRESH bit=0 del @OPT_INDEXES bit=0 del @OPT_IndexFragThreshold float=5.0 int = 100 , punta del @OPT_IndexOnlineOperationsOnly = 1 , punta @OPT_IndexBulkLogged = 0 , @OPT_IndexAutoLogBackup pungente = 0 , il @OPT_IndexAutoLogBackupIntervalSecs int = 300 , il @OPT_IndexMaxDurationMins int = 0 , @OPT_IndexTableRowLimit int = 0 , il , il , punta di decimale del @OPT_StatsRowModPct (19.2) = del @OPT_STATISTICS bit=0 del @OPT_StatsIncludeCIXStats = 0 , @OPT_StatsIncludeCLStats pungenti = 0 , @OPT_StatsSamplePct int = 50 , @OPT_StatsDOW int = , il @OPT_StatsMaxDurationMins int = 0 , @OPT_StatsTableRowLimit int = 0 , @OPT_IndexTableRowMin int = 0 , @OPT_StatsTableRowMin int = 0 AS COMINCIA il NOCOUNT STABILITO SOPRA il del GENERA il del del #DB della TABELLA (identità di identificazione int, DBID int NON NULLO, SYSNAME nome NON NULLO) SELEZIONA DBID, il nel dei #allDBs dal IN CUI 1=1 il e tempdb„ il e @AllDBs del <> nome “= 1 del SELEZIONA DBID, il di master.dbo.sysdatabases nel dei #systemDBs dal IN CUI 1=1 il ed il nome (“padrone„, “modello„, “msdb„, “distribuzione ") nel e nei @SystemDBs = 1 del SELEZIONANO DBID, il di master.dbo.sysdatabases nel dei #userDBs dal DOVE 1=1 il e chiama NON (“padrone„, “modello„, “msdb„, “tempdb„, “distribuzione ") nel e i @UserDBs = 1 INSERTO del del del nel del #DB (dbid, nome) selezionano DBId, il dal dei #allDBs DOVE nome non dentro (rtrim prescelto (ltrim (elemento)) a partire dal del SINDACATO del di dbo.fn_Split (@excludeList, “, ")) selezionare DBID, il dal dei #systemDBs DOVE nome non dentro (rtrim prescelto (ltrim (elemento)) a partire dal del SINDACATO del di dbo.fn_Split (@excludeList, “, ")) selezionare DBID, chiamano il dal dei #userDBs DOVE nome non dentro (rtrim prescelto (ltrim (elemento)) a partire dal del SINDACATO del di dbo.fn_Split (@excludeList, “, ")) SELEZIONARE DBID, chiamano il dal di master.dbo.sysdatabases DOVE nome DENTRO (rtrim prescelto (ltrim (elemento)) dal di dbo.fn_Split (@dbList, “, ")) e dal nome non dentro (rtrim prescelto (ltrim (elemento)) dal del di ORDINE del di dbo.fn_Split (@excludeList, “, ")) per nome DICHIARARE il @DBID il int, @id int, @lastId int, sysname di @Database del , @rtn int, @sqlstring nvarchar (250), carbone @setting del del del (10), il @Message nvarchar (1024), il @start_dow il int, la punta del @skip_check del , la punta dei @skip_stats del , del del del del @compName del (i 100) seleziona il @start_dow = DatePart (dw, GetDate ()), @skip_check = 0, @skip_stats = 0 se (@check_dow non è @start_dow del @check_dow e nullo del <>) COMINCIARE il @skip_check stabilito del = controlli di consistenza di salto della base di dati della 1 stampa del “. StartDOW: „ + lanciare (@start_dow come varchar) + “, CheckDOW: „ + lanciare (@check_dow come varchar) il del dell'estremità del se (@OPT_StatsDOW non è @start_dow del @OPT_StatsDOW e nullo del <>) COMINCIARE i @skip_stats stabiliti del = le ottimizzazioni di salto di statistica della 1 stampa del “. StartDOW: „ + lanciare (@start_dow come varchar) + “, StatsDOW: „ + lanciare (@OPT_StatsDOW come varchar) il @id prescelto del del del del dell'estremità del = 1, @lastId = massimo (identificazione) dal MENTRE (@lastId del <= del @id) COMINCIARE il @DBID PRESCELTO del del = DBID, @Database del del #DB = dal del #DB DOVE @id stabilito del del del @id = di identificazione = @id + 1 @compName del del = QUOTENAME stabiliti (@@SERVERNAME) + “.„ + del di @database -- fare funzionare tutti i controlli che COMINCIA il di PROVA se ((@checkdb = 1 o @checkalloc = 1 o @checkcatalog = 1) e (@skip_check = 0)) COMINCIARE il @rtn del EXEC = il , il , il , il , il di @database=@database di DBA. .DBA_CheckDatabase del @checkdb=@checkdb del @checkalloc=@checkalloc del @checkcatalog=@checkcatalog del del @check_comprehensive=@check_comprehensive SE (<> 0 del @rtn) COMINCIARE il CONTINUANO il del dell'ESTREMITÀ del dell'ESTREMITÀ del se (@OPT_REFRESH = 1) COMINCIA il @rtn del EXEC = il del dell'ESTREMITÀ del di @database=@database di DBA. .DBA_RefreshOptimizationStatus se (@OPT_INDEXES = 1) COMINCIA il @rtn del EXEC = il , il , il , il , il , il @autoLogBackup=@OPT_IndexAutoLogBackizations del @fragThreshold=@OPT_IndexFragThreshold del @fillFactor=@OPT_IndexFillFactor del @onlineOperationsOnly=@OPT_IndexOnlineOperationsOnly del @bulkLogged=@OPT_IndexBulkLogged , , @maxDurationMins = , , se (@OPT_STATISTICS = 1 e @skip_stats = 0) COMINCIARE il del @rtn del EXEC = di @database=@database di DBA_PerformStatisticOptimizations, , , , , @maxDurationMins = , , di/>up del @autoLogBackupIntervalSecs=@OPT_IndexAutoLogBackupIntervalSecs dei @OPT_IndexMaxDurationMins del @OPT_IndexTableRowLimit = del @tableRowLimit del dell'ESTREMITÀ del del @OPT_IndexTableRowMin = del @tableRowMin del @rowModPct=@OPT_StatsRowModPct del @includeCIXStats=@OPT_StatsIncludeCIXStats del @includeCLStats=@OPT_StatsIncludeCLStats del @samplePct=@OPT_StatsSamplePct dei @OPT_StatsMaxDurationMins del @OPT_StatsTableRowLimit = del @tableRowLimit del dell'ESTREMITÀ del del @OPT_StatsTableRowMin = del @tableRowMin se (@BackupDB = 1) COMINCIA il @rtn del EXEC = il @database=@database di DBA. .DBA_BackupDatabase, il @INIT=@INIT, il @DIFF=@DIFF, IL DEL DEL @DOW=@START_DOW SE (<> 0 DEL @RTN) COMINCIARE IL CONTINUA IL DEL DELL'ESTREMITÀ DEL -- dopo un sostegno del diff o completo, il sostegno del ceppo di transazione può re-initialized per conservare il dello spazio se (@INIT = 1) COMINCIA il @rtn del exec del = il @database=@database di DBA. .DBA_BackupLog, @INIT=1, @NOWARN=1, il del del @dow=@start_dow SE (<> 0 del @rtn) COMINCIARE il CONTINUANO il dell'ESTREMITÀ del dell'ESTREMITÀ del dell'ESTREMITÀ del ALTRIMENTI se (@BackupLog = 1) COMINCIA il @rtn del exec del = il @database=@database di DBA. .DBA_BackupLog, il @INIT=@INIT, il del del @dow=@start_dow SE (<> 0 del @rtn) COMINCIARE il CONTINUANO il di PROVA di CONCLUSIONE del dell'ESTREMITÀ del dell'ESTREMITÀ del COMINCIANO il @message = il error_message stabiliti del del FERMO () @compName del padrone. .usp_LogDBAError del exec del , di @message SE (XACT_STATE ()) = -1 IL COMINCIA IL DELL'ESTREMITÀ DEL DI RIDUZIONE DEI PREZZI DEL CONTINUA L'ESTREMITÀ DEL DEL FERMO DELL'ESTREMITÀ DEL -- mentre
could che del END di RITORNO 0 del del modificate prego sopra il codice trasmetterlo in anticipo al del me
thanks
class= del
|