Has anyone ever used the CREATE DATABASE statement with the FOR ATTACH clause?
I have a database with something like 128 physical data files which I have to move (detach, move the physical files and then re-attach). Since the limit for sp_attach_db is 16 files, I am forced to use the FOR ATTACH option. I was wondering if anyone had ever done this and if there were any hints and/or recommendations you might be willing to share...
Hello, I just recently installed SQL Express 2005 on a new OS which is on Vista Ultimate. When I try to attach a database by clicking the add button, I receive this error: =================================== Failed to retrieve data for this request. (Microsoft.SqlServer.Express.SmoEnum) ------------------------------For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476 ------------------------------Program Location: at Microsoft.SqlServer.Management.Smo.Enumerator.Process(Object connectionInfo, Request request) at Microsoft.SqlServer.Management.SqlManagerUI.BrowseFolderHelper.GetBrowseStartPath(ISettingsStorage settingsStorage, ServerConnection serverConnection, Type controlType, String settingKey) at Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.GetStartPath(String settingName) at Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.buttonBrowse_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) =================================== An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.Express.ConnectionInfo) ------------------------------Program Location: at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType) at Microsoft.SqlServer.Management.Smo.ExecuteSql.ExecuteImmediate(String query) at Microsoft.SqlServer.Management.Smo.ExecuteSql.GetDataProvider(StringCollection query, Object con, StatementBuilder sb, RetriveMode rm) at Microsoft.SqlServer.Management.Smo.SqlObjectBase.FillData(ResultType resultType, StringCollection sql, Object connectionInfo, StatementBuilder sb) at Microsoft.SqlServer.Management.Smo.SqlObjectBase.FillDataWithUseFailure(SqlEnumResult sqlresult, ResultType resultType) at Microsoft.SqlServer.Management.Smo.SqlObjectBase.BuildResult(EnumResult result) at Microsoft.SqlServer.Management.Smo.SqlObjectBase.GetData(EnumResult erParent) at Microsoft.SqlServer.Management.Smo.Environment.GetData() at Microsoft.SqlServer.Management.Smo.Environment.GetData(Request req, Object ci) at Microsoft.SqlServer.Management.Smo.Enumerator.GetData(Object connectionInfo, Request request) at Microsoft.SqlServer.Management.Smo.Enumerator.Process(Object connectionInfo, Request request) =================================== The server principal "MyComputerKarl" is not able to access the database "model" under the current security context. (.Net SqlClient Data Provider) ------------------------------For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.3042&EvtSrc=MSSQLServer&EvtID=916&LinkId=20476 ------------------------------Server Name: MyComputerSQLEXPRESSError Number: 916Severity: 14State: 1Line Number: 1 ------------------------------Program Location: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
When I try to creat a new database I receive this error: =================================== Create failed for Database 'TestDB'. (Microsoft.SqlServer.Express.Smo) ------------------------------For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+Database&LinkId=20476 ------------------------------Program Location: at Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl() at Microsoft.SqlServer.Management.Smo.Database.Create() at Microsoft.SqlServer.Management.SqlManagerUI.CreateDatabaseData.DatabasePrototype.ApplyChanges(Control marshallingControl) at Microsoft.SqlServer.Management.SqlManagerUI.CreateDatabase.DoPreProcessExecution(RunType runType, ExecutionMode& executionResult) at Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.DoPreProcessExecutionAndRunViews(RunType runType) at Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.ExecuteForSql(PreProcessExecutionInfo executionInfo, ExecutionMode& executionResult) at Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.Microsoft.SqlServer.Management.SqlMgmt.IExecutionAwareSqlControlCollection.PreProcessExecution(PreProcessExecutionInfo executionInfo, ExecutionMode& executionResult) at Microsoft.SqlServer.Management.SqlMgmt.ViewSwitcherControlsManager.RunNow(RunType runType, Object sender) =================================== An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.Express.ConnectionInfo) ------------------------------Program Location: at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType) at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType) at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries) at Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection queries, Boolean includeDbContext) at Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImplFinish(StringCollection createQuery, ScriptingOptions so) at Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl() =================================== CREATE DATABASE permission denied in database 'master'. (.Net SqlClient Data Provider) ------------------------------For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.3042&EvtSrc=MSSQLServer&EvtID=262&LinkId=20476 ------------------------------Server Name: MyComputerSQLEXPRESSError Number: 262Severity: 14State: 1Line Number: 1 ------------------------------Program Location: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType) On my previous computer which had WinXp Pro I had no such problems Any Help would be much appreciated Thanks Karl
Hi Guys,This is my first post and I hope I'm not going to embarrass myself to much.I am currently writing a pseudo install package for SQL Server Express, it is written in VB.Net 2.0.
I have created an *.exe that fires the SQL Server Express install package silently with command line options, once complete the *.exe copies an *.MDF and an *.LDF to the newly created data directory. Once the data has been copied I fire a "CREATE DATABASE FOR ATTACH" using a SQLClient.SQLCommand to attach my DB. I am using Windows Authentication for SQL Server Express.This all works beautifully when the *.exe is being run from a local hard disk - complete success.When I move the *.exe to a CD it fails . SQL Server is installed correctly, the files are copied to the local hard disk in the correct location. I then fire the "CREATE DATABASE" command - its here I get the error.The error details are:Unable to open the physical file "c:....Exchange.LDF". Operating System error 5:"5(error not found)". Cannot create file "c:....Exchnage.ldf" because it already exists. Change the file path or file name, and retry the operation. Could not open new database 'Exchange'. CREATE DATABASE is aborted. File activation failure. The physical file name "c:....Exchange.LDF" may be incorrect.Remember this works perfectly when run from the local hard disk, this only occurs when running from a CD-ROM.Now from the research I have done I believe it may be a permissions error. The setup *.exe is being run from a Administrator account and the SQL Server DB Engine Service Account is System. I'm under the impression that this should provide more than enough permissions.
Thanks for any help you guys may be able to provide... Matt.
I have a medical records system, SoapWare v4.90, that uses MSDE (SQL2000) databases. Due to the 2gb limitation, I am trying to migrate over to SQL 2005 (Standard or Express) which I have heard works fine. The SoapWare has a datamanager that allows me to log in to the MSDE instance, detach the SoapWare databases from msde (as well as do backups, etc) which I can confirm are detached.
Then I log back into a SQL2005 database instance using the datamanager and try to attach the database. This is what their pictured instructions demonstrate. However, I get the following error:
Database 'sw_charts' cannot be upgraded because it is read-only or has read-only files. Make the database or files writeable, and rerun recovery.
Of course, some of the entries will be read only, since doctors have to sign off the charts and are not allowed to subsequently change them. But I should still be able to switch over to sql 2005?!?!?!?
Or... is there a way to attach the databases to SQLExpress manually?
An attempt to attach an auto-named database for file C:WebApp_Dataaspnetdb.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share. My web.config file, the connection strings <connectionStrings> <add name="POAdatabaseConnectionString1" connectionString="Data Source=sss;Persist Security Info=True;Initial Catalog=POAdatabase.mdf;Integrated Security=SSPI" providerName="System.Data.SqlClient" /> </connectionStrings> I cann't really find the statement for attaching aspnetdb.mdf. I don't where to find it. Is there any other web.config file in the C drive? Thanks for help!
Greetings, I have just arrived back into the country (NZ) and back into ASP.NET. I am having trouble with the following:An attempt to attach an auto-named database for file (file location).../Database.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share. It has only begun since i decided i wanted to use IIS, I realise VWD comes with its own localhost, but since it is only temporary, i wanted a permanent shortcut on my desktop to link to my intranet page. Anyone have any ideas why i am getting the above error? have searched many places on the internet and not getting any closer. Cheers ~ J
I have a medical records system, SoapWare v4.90, that uses MSDE (SQL2000) databases. Due to the 2gb limitation, I am trying to migrate over to SQL 2005 (Standard or Express) which the company says works fine. The SoapWare has a datamanager that allows me to log in to the MSDE instance, detach the SoapWare databases from msde (as well as do backups, etc) which I can confirm are detached.
Then I log back into a SQL2005 database instance using the datamanager and try to attach the database. This is what their pictured instructions demonstrate. However, I get an error:
Database 'sw_charts' cannot be upgraded because it is read-only or has read-only files. Make the database or files writeable, and rerun recovery.
Or... is there a way to attach the databases to SQLExpress manually?
If I detach a database on a server, then attach the database with asingle file only using the data file...will I lose any transactionsthat were in the original log file? There is a debate going on here atwork where some people think that during the detach, transactions inthe log file are saved to the data file.Thanks!
I've created a database inside my ASP.net project, the database is in the App_Data folder as exepcted.I can't run the aspnet_regsql until I have attached it using SQL Server Management Studio, but when I try to attach the database it doesn't let me navigate through my folders properly. The database is in C:UsersWardieDocumentsFirstProjectApp_Data but SQL SMS only lets me navigate to the folder C:UsersWardie and no further for some reason, meaning I can't attach the database and can't use the aspnet_regsql service to create the membership tables.Does anyone know how to fix this?
Hi guys, I had user who would like attach trial database and de-attach database when he do development. I do not want him had any other permission except the database he attach. I give him database creator role. But it did not seems work. I have to give him database creator role and system admin role also. Any one have better ideas about this? Thanks for help Helen
hi , i want to use a database that someone created in SQL SERVER 2000/WINDOWS SERVER 2003.My system is SQL SERVER 2000/XP SP2 PRO .The problem is that the database is an unknown file .I mean ,it isn't ,as usually, an .mdf or .ldf file ,so i cannot attach it to the server. Is there a problem in compatibility between the different versions of windows?Or is missing something from the database?What can i do?
I want to attach a database that one of the developers had detach it. The LDF file was deleted after detach.
I tried to attach and rebuild the log file in SQL2005 using the following:
USE [master] GO CREATE DATABASE [Test] ON (FILENAME = N'G:MSSQLDataTest.mdf') FOR ATTACH_REBUILD_LOG GO
I get the following error:
File activation failure. The physical file name "D:MSSQLDATATest_log.LDF" may be incorrect. The log cannot be rebuilt because the database was not cleanly shut down. Msg 1813, Level 16, State 2, Line 1 Could not open new database 'Test'. CREATE DATABASE is aborted.
I have a database on a server and want to put it my local laptop that also has sql express. I attached the db, I see it in Management Studio but it does not show up in
C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData so my app is not working correctely. How do I get the db to show up in the MSSWLData folder. I'm a bit confused.
That's the error I get.Please help ' TITLE: Microsoft SQL Server Management Studio Express------------------------------Failed to retrieve data for this request. (Microsoft.SqlServer.Express.SmoEnum)------------------------------ADDITIONAL INFORMATION:An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.Express.ConnectionInfo)------------------------------C:Program FilesMicrosoft SQL ServerMSSQL.3MSSQLDataMyNewDB.mdf is not a primary database file. (Microsoft SQL Server, Error: 5171)
I have a database that I developed using both Toad for SQL and SQL Server Managment Studio.
All was working fine. I could connect to the database with one of the above and also run two an applications I developed (one in C# and One in VB.NET using VS Express) using the standard SQLConnection class.
Now, for one reason or another I decided to create a new data source in my Visual Studio project and pointed it to the database fine.
At first it seemed ok as I could see all tables from teh database. However somethign strage has happened. I now can't access the database in TOAD or SQL Server Managment Studio. I also couldn't connect using the above string.
I finally managed to get the two appllications I developed to access database using the following connection string...
Data Source=.SQLEXPRESS;AttachDbFilename=C:Program FilesMicrosoft SQL ServerMSSQLDataCDEvolution.mdf;Integrated Security=True;Connect Timeout=6000;User Instance=True;
and the applications work fine, however I can access the database using the DB tools.
In SQL Server Managment Studio I remove the database and tried to attach it again but I keep getting the following error message...Could not find row in sysindexes for database ID 5, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes. Could not open new database 'C:PROGRAM FILESMICROSOFT SQL SERVERMSSQLDATACDEVOLUTION.MDF'. CREATE DATABASE is aborted. (.Net SqlClient Data Provider)
Can not attach database, Error message; The file you've specified is not a valid SQL Server database file.
My costumer HDD some files Deleted mybe elektric prblem -Elektric go,com,go,come- then windows not opened. insert corrupt hdd Another computer, then recovering (recover my files software) Recover mdf and ldf files. but I can not not attach mdf. file,
I am recovery .mdf file http://www.officerecovery.com/mssql/ some table ok. but my importand table is not ok.
if I can recover another recovery software , my database correct recover or same.? I am using RecoverMyFiles.
We are trying to attach a Database from SQL7 to SQL2K SP3.
On SQL7
The Database was detached and the MDF copied to the New Server.
On SQL2K
We used the attach Db (in Enterprise Manager).
We get a red 'x' as normal against the logfile and noramlly it would create a new one when u proceed, but this time we are getting an error after the dialogue box asking to create a new one:
Error 1813: Could not open new database 'dbname'. CREATE DATABASE is aborted.
Device activation error. The physical file name 'd:mssql7datadbname.ldf' maybe incorrect.
The path is where the logfile resided on the old server.
I have used the copy database wizard, but I realized I had forgotten to shrink the transaction log file. So I canceled the wizard. My database, detached by the wizard, has now disappeared. The mdf file is still there, but when I try to attach it manually I get the "create file encountered operating system error 5 while attempting to open the physical file..." error.
I've just created ASPNETDB database with ASP.NET Security. Now, I want to send this db to orther computer.First, I detached this db, then when I used attach database in that computer, there is an error :Error 602: Could not find row in sysindexes for database ID 8, object ID 1, indext ID 1. RUN DBCC CHECKTABLE on sysindexes. Please help me .Thank.
Problem is: "I am trying to attach a database through SQLDMO using VB6 In MSDE (Microsoft Sql Server Desktop Engine). If my '.mdf' and '.ldf' files are placed in a folder with Spaces then it give me error because it is picking up the folder name up to first space."
I have install SQLExpress, too I download AdventureDB, but it created files *.mdf and *.ldf.Now in SQLExpress I cann't attach database witch mouse, I believe that it in code, how I can goal it?. Is there some other way to make this in SQLExpress?
i saw some asp.net 2.0 start kit use this method to attach a database instance like this: <add name="connectionstring" connectionString="Data Source=.SQLEXPRESS;AttachDbFilename=DataDirectory|JsskDb.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/> but my develop enviroment is sql server 2000 and vs 2005,can i do it ?
In SQL when I right click on Databases the option to use Attach/Detach is greyed out. I don't understand why. I'm running SQL 7 on Win2000 server and I have Win2k at sp2 and SQL at sp2.
Folks, i had a database with data and log file on seperate disks. After reboot, i've lost the log file; now i am trying to attache the data file using EM and QA, i get the following error; plz guide:
Server: Msg 1813, Level 16, State 2, Line 1 Could not open new database 'production'. CREATE DATABASE is aborted. Device activation error. The physical file name 'D:production_log.LDF' may be incorrect.
i have a database wich is part of a vb.net project tha database worked fine..i wanted to change the location of the mdf file to the application folder so i copied it to that folder but then i tried to attach it to the server using the management studio right click database select attach that opened the add dialog box with the tree to locate the mdf file but the tree does not expand into the application folder and i can't get to the mdf file.so i tried to attach with attach command and i got the error message that access is denied error 5.i checked the security settings in all files and parent folders and everything seems ok
An original database (eg A.mdf) is imported/exported to a different server as named B.mdf. The detach of A.mdf was unitentionally not done. It seems that both the database were updated.
A co-worker deleted the log file to a database that was running. At that point the database showed as suspect and stopped running. I was able to detach the database but I am unable to attach the database. I get a msg stating the logfile cannot be found would I like to create a new one. I select yes. I get the following error.
Error 1813: Could not open new database 'dbname'. CREATE DATABASE is aborted. Device activation error. The physical file name 'fullpath to the original log file' may be incorrect.
I am trying to attach a database to SQLEXPRESS. I get an error, [Directory Lookup for the file C: . . . DataORION.mdf" failed with the operating system error 5(Access is denied.)]
I tried to attach another database and got the same error. I have attached databases to SQLEXPRESS before successfully. I tried to attach using single file to no avail.
I am using the query, "sp_attach_db @dbname=N'ORION', @filename1=N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataORION.MDF' go"
ORION.mdf is in the Data folder for SQLEXPRESS
What am I doing wrong or what did I change inadvertently to restrict my access to the file?