Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Script not creating database correctly
Message
De
26/02/2013 14:02:49
 
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Scripting
Divers
Thread ID:
01566939
Message ID:
01566968
Vues:
35
>>>>Hi All
>>>>
>>>>We're trying to transfer a database from one server to another and had SQL create the script to do so. Unfortunately, it's creating the tables within the Master database and not within the new database. In fact, it's not even creating the new database. Here's the script that was generated, could someone point out why it's not doing what it's supposed to do?
>>>>
>>>>USE [master]
>>>>GO
>>>>/****** Object:  Database [DLI_Testing]    Script Date: 02/26/2013 06:41:26 ******/
>>>>CREATE DATABASE [DLI_Testing] ON  PRIMARY 
>>>>( NAME = N'DLI_Testing', FILENAME = N'D:\DLI_Testing.mdf' , SIZE = 78080KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
>>>> LOG ON 
>>>>( NAME = N'DLI_Testing_log', FILENAME = N'D:\DLI_Testing_log.LDF' , SIZE = 470144KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
>>>>GO
>>>>ALTER DATABASE [DLI_Testing] SET COMPATIBILITY_LEVEL = 100
>>>>GO
>>>>IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
>>>>begin
>>>>EXEC [DLI_Testing].[dbo].[sp_fulltext_database] @action = 'enable'
>>>>end
>>>>GO
>>>>
>>>
>>>
>>>Any error messages?
>>
>>Oh, lord, yes - here's the top part
>>
>>Msg 5170, Level 16, State 1, Line 2
>>Cannot create file 'D:\DLI_Testing.mdf' because it already exists. Change the file path or the file name, and retry the operation.
>>Msg 1802, Level 16, State 4, Line 2
>>CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
>>Msg 5011, Level 14, State 5, Line 1
>>User does not have permission to alter database 'DLI_Testing', the database does not exist, or the database is not in a state that allows access checks.
>>Msg 5069, Level 16, State 1, Line 1
>>ALTER DATABASE statement failed.
>>
>
>These messages say all.
>You have already a file named DLI_Testing.mdf in D:\ drive.
>Maybe you can't see this DB because you didn't refresh Object Explorer in SSMS?
>Also you may have a DB with different name that uses this file.
>
>Run this:
>
>SELECT Name, FileName FROM sysdatabases WHERE FileName LIKE '%DLI_Testing%'
>
>
>Also, when you create the script ALWAYS set "Include if NOT EXISTS" to true (check the attached image).

Yes, we did - mostly because it's being passed as a parameter? We've also determined that the userid that was being used in the SQL Server did not have the correct rights on the server's D drive.

Thanks for the suggestion on the "If NOT EXISTS". I'll make a note of that for everyone else.
"You don't manage people. You manage things - people you lead" Adm. Grace Hopper
Pflugerville, between a Rock and a Weird Place
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform