Come si crea il database ELMAH SQL Server? L'ho aggiunto al mio progetto ASP.NET MVC tramite NuGet e non ho lo script sql sul mio computer.Come si crea il database ELMAH SQL Server?
risposta
Lo script DDL è collegato da Elmah downloads page. Non è necessario trascinare l'albero dei sorgenti.
(perché non è in bundle con il NuGet mi sfugge)
Ho trovato lo script in controllo del codice sorgente: https://code.google.com/p/elmah/source/browse/src/Elmah.SqlServer/SQLServer.sql
Eseguire lo script sul database che si utilizza per creare le strutture di database per Elmah.
Potete correggere il collegamento e aggiungere un sommario? Le risposte di solo collegamento hanno poco valore. –
Il file non esiste più! L'ultimo URL è https://bitbucket.org/project-elmah/main/downloads/ELMAH-1.2-db-SQLServer.sql – Wiil
Per uno scenario di codice prima migrazione, ho trovato l'articolo this molto utile.
Primo comando Add-Migration AddElmah
in 'Console Gestione pacchetti'. Questo creerà un file nella cartella Migration. Questo file conterrà la classe AddElmah
con le funzioni Up()
e Down()
. Sostituito queste due funzioni con codice qui sotto:
public override void Up()
{
Sql(@"CREATE TABLE [dbo].[ELMAH_Error]
(
[ErrorId] UNIQUEIDENTIFIER NOT NULL,
[Application] NVARCHAR(60) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Host] NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Type] NVARCHAR(100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Source] NVARCHAR(60) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Message] NVARCHAR(500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[User] NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[StatusCode] INT NOT NULL,
[TimeUtc] DATETIME NOT NULL,
[Sequence] INT IDENTITY(1, 1) NOT NULL,
[AllXml] NTEXT COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ");
Sql("EXEC('ALTER TABLE [dbo].[ELMAH_Error] WITH NOCHECK ADD CONSTRAINT[PK_ELMAH_Error] PRIMARY KEY([ErrorId])')");
Sql("EXEC('ALTER TABLE [dbo].[ELMAH_Error] ADD CONSTRAINT[DF_ELMAH_Error_ErrorId] DEFAULT(NEWID()) FOR[ErrorId]')");
Sql(@"EXEC('CREATE NONCLUSTERED INDEX [IX_ELMAH_Error_App_Time_Seq] ON [dbo].[ELMAH_Error]
(
[Application] ASC,
[TimeUtc] DESC,
[Sequence] DESC
)')");
Sql(@"EXEC('CREATE PROCEDURE [dbo].[ELMAH_GetErrorXml] (@Application NVARCHAR(60), @ErrorId UNIQUEIDENTIFIER) AS
SET NOCOUNT ON
SELECT [AllXml] FROM [ELMAH_Error] WHERE [ErrorId] = @ErrorId AND [Application] = @Application')");
Sql(@"EXEC('CREATE PROCEDURE [dbo].[ELMAH_GetErrorsXml]
(@Application NVARCHAR(60), @PageIndex INT = 0, @PageSize INT = 15, @TotalCount INT OUTPUT)
AS
SET NOCOUNT ON
DECLARE @FirstTimeUTC DATETIME
DECLARE @FirstSequence INT
DECLARE @StartRow INT
DECLARE @StartRowIndex INT
SELECT @TotalCount = COUNT(1) FROM [ELMAH_Error] WHERE [Application] = @Application
SET @StartRowIndex = @PageIndex * @PageSize + 1
IF @StartRowIndex <= @TotalCount
BEGIN
SET ROWCOUNT @StartRowIndex
SELECT @FirstTimeUTC = [TimeUtc], @FirstSequence = [Sequence] FROM [ELMAH_Error]
WHERE [Application] = @Application ORDER BY [TimeUtc] DESC, [Sequence] DESC
END
ELSE
BEGIN
SET @PageSize = 0
END
SET ROWCOUNT @PageSize
SELECT
errorId = [ErrorId],
application = [Application],
host = [Host],
type = [Type],
source = [Source],
message = [Message],
[user] = [User],
statusCode = [StatusCode],
time = CONVERT(VARCHAR(50), [TimeUtc], 126) + ''Z''
FROM [ELMAH_Error] error WHERE [Application] = @Application AND [TimeUtc] <= @FirstTimeUTC
AND [Sequence] <= @FirstSequence ORDER BY [TimeUtc] DESC, [Sequence] DESC FOR XML AUTO')");
Sql(@"EXEC('CREATE PROCEDURE [dbo].[ELMAH_LogError] (@ErrorId UNIQUEIDENTIFIER, @Application NVARCHAR(60), @Host NVARCHAR(30),
@Type NVARCHAR(100), @Source NVARCHAR(60), @Message NVARCHAR(500), @User NVARCHAR(50), @AllXml NTEXT, @StatusCode INT,
@TimeUtc DATETIME) AS
SET NOCOUNT ON
INSERT INTO [ELMAH_Error] ([ErrorId], [Application], [Host], [Type], [Source], [Message], [User], [AllXml], [StatusCode], [TimeUtc])
VALUES (@ErrorId, @Application, @Host, @Type, @Source, @Message, @User, @AllXml, @StatusCode, @TimeUtc)')");
}
public override void Down()
{
Sql("EXEC('DROP PROCEDURE [ELMAH_GetErrorXml]')");
Sql("EXEC('DROP PROCEDURE [ELMAH_GetErrorsXml]')");
Sql("EXEC('DROP PROCEDURE [ELMAH_LogError]')");
Sql("Drop table ELMAH_Error");
}
Ora, quando si esegue il comando Update-Database
in "Gestione Console Package", ELMAH_Error
tavolo e relative procedure verranno creati nel database.
- 1. ELMAH Accesso in SQL Server
- 2. Script di database Autorun ELMAH
- 3. Installazione di Elmah con SQL Server 2008
- 4. Come si crea un semplice modulo Windows per accedere a un database SQL Server?
- 5. Come si crea un database locale all'interno di Microsoft SQL Server 2014?
- 6. Crea backup server SQL su macchina locale
- 7. ELMAH per ASP.NET MVC 4 con SQL SERVER 2008 R2
- 8. Impossibile accedere/elmah sul server di produzione con Elmah MVC?
- 9. Crea trigger in SQL Server
- 10. MVC ELMAH e SQL Azure
- 11. Elimina database SQL Server
- 12. Come si applicano i sottotipi in un database SQL Server?
- 13. Come si crea una tabella temporanea in un database Oracle?
- 14. Portare il database SQL Server online
- 15. Come rilasciare più database in SQL Server
- 16. Come ripristinare il database da MDF in SQL Server 2005?
- 17. Il modo migliore per sincronizzare il database SQL Server remoto con il database SQL Server Compact locale?
- 18. Database locale senza server sql
- 19. Come unire due database in SQL Server?
- 20. Ottieni il file .sql dal database di SQL Server 2012
- 21. Come proteggere un database dall'amministratore del server in Sql Server
- 22. Come si introspe su un server SQL?
- 23. Script intero database SQL-Server
- 24. Come migrare il database SQL Server in MySQL?
- 25. Come utilizzare il progetto del database SQL Server
- 26. Come faccio ad ascoltare per il database SQL Server cambia
- 27. Come sincronizzare il database Android con un server SQL online?
- 28. Come connettere il database sulla rete locale SQL Server 2008
- 29. Come cambio il proprietario di un database SQL Server?
- 30. Come posso aggiornare il mio database sql Server CE 3.5 sdf a Sql Server CE 4.0?
@Brettski: ho appena installato il progetto 'Elmah.Mvc' (v2.1.1) e non ha creato una cartella 'App_Readme' o alcuno script ddl. –
Questa pagina non esiste più :( –