Du kan forespørge SQL Server for at kontrollere, om der findes objekter.
For at kontrollere databasens eksistens kan du bruge denne forespørgsel:
SELECT * FROM master.dbo.sysdatabases WHERE name = 'YourDatabase'
For at kontrollere, om der findes en tabel, kan du bruge denne forespørgsel mod din måldatabase:
SELECT * FROM sys.tables WHERE name = 'YourTable' AND type = 'U'
Dette link nedenfor viser dig, hvordan du kontrollerer, om databasen eksisterer i SQL Server ved hjælp af VB.NET-kode:
Tjek, om SQL-databasen findes på en server med vb.net
Refereret kode fra ovenstående link:
Du kan udføre kontrollen på en anden måde, så det gøres i et enkelt opkald ved at bruge en EXISTS
tjek for både databasen og en tabel:
IF NOT EXISTS (SELECT * FROM master.dbo.sysdatabases WHERE name = 'YourDatabase')
BEGIN
-- Database creation SQL goes here and is only called if it doesn't exist
END
-- You know at this point the database exists, so check if table exists
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'YourTable' AND type = 'U')
BEGIN
-- Table creation SQL goes here and is only called if it doesn't exist
END
Ved at kalde ovenstående kode én gang med parametre for database og tabelnavn, vil du vide, at begge findes.