Lỗi database already exists choose a different database name năm 2024
Mình new file sau đó, tạo ra database với table, viết lệnh. Nhưng cứ chạy là nó báo lỗi đã tồn tại tên database với table này rồi trong khi mình còn chưa tạo nó làn nào khác. Mà nếu mình đổi tên đi nó cũng báo có rồi. Ai giải thích hộ mình với ,:((((((((((( Show hoangnnm 10-01-2012, 23:00 Có vài lý do, trong đó thường gặp nhất là lỗi biên dịch của sql . Nghĩa là mặc dù bạn đã xóa nhưng sql vẫn hiểu là table đó vẫn còn tồn tại trong db (suy ra từ lần biên dịch gần nhất, vì nếu bạn liên tục f5 code để chạy thì sql chỉ dùng 1 lần biên dịch đầu tiên để chạy đoạn code đó) . Đấy là mình nói theo kinh nghiệm và khả năng hiểu của mình thôi chứ chưa chắc đã đúng :) Bạn ơi cho mình hỏi: thế sao mình copy sang cái file mới nó cũng báo lỗi đó :(( phuochantien 10-01-2012, 23:40 Mình vẫn chưa hiểu câu hỏi của bạn lắm! Bạn nói rõ hơn được không. Bạn viết câu lệnh và khi chạy câu lệnh đó thì nó bá lỗi ah? hoangnnm 11-01-2012, 08:51 Bạn ơi cho mình hỏi: thế sao mình copy sang cái file mới nó cũng báo lỗi đó :(( Bạn đăng 1 phần code lên mình xem thử nhé . Đây là code của mình: use c0610k_test1 go if DB_ID('assignmets') is not null drop database assignments; Create database assignments create table student ( RN int identity primary key, name nvarchar(30) not null, age int null, gender int null ) create table subject ( sID int identity primary key, sname nvarchar(15) not null ) create table student_subject ( RN int not null, sID int not null, mark int null, date datetime ) go Nó cứ báo lỗi này: Msg 1801, Level 16, State 3, Line 4 Database 'assignments' already exists. Choose a different database name. Msg 2714, Level 16, State 6, Line 5 There is already an object named 'student' in the database. Mà mình ko nghĩ mình viết sai câu lệnh :D Bạn bỏ đoạn 2 dòng code "use c0610k_test1 go" này đi. Thử xem nó có chạy không. Vẫn lỗi đó bạn ạ. Nó vẫn báo có tên database và table rồi :-s hoangnnm 11-01-2012, 21:50 Vẫn lỗi đó bạn ạ. Nó vẫn báo có tên database và table rồi :-s Rất là đơn giản, bạn gõ sai tên database Hãy nhìn lại thật kỹ : if DB_ID('assignmets') is not null drop database assignments; Ở trên la assignmets, ở dưới lại là assignments Thank bạn hoangnnm, ko ngờ lỗi sai chính tả , nhưng mình vẫn bị lỗi báo tên table đã tồn tại. Làm sao để nó mất hả bạn. Mình bị hoài mà ko sao sửa dc :( hoangnnm 11-01-2012, 22:23 Thank bạn hoangnnm, ko ngờ lỗi sai chính tả , nhưng mình vẫn bị lỗi báo tên table đã tồn tại. Làm sao để nó mất hả bạn. Mình bị hoài mà ko sao sửa dc :( Sau khi đã tạo database thì bạn phải use database đó nữa chứ :) Mình nghiệp dư quá. Thank bạn @.@ gust2012 13-01-2012, 21:04 Lỗi của bạn theo tôi là ở chổ bạn xóa Database sau đó tạo lại. Tức là như sau: bạn xóa database nếu nó đã có (đã tồn tại do lần tạo trước) rồi sau đó thực hiện tạo mới lại database nhưng sau lẹnh tạo lại bạn lại không viết lệnh chọn sử dụng database vừa tạo lại, code bạn có thể sửa lại như sau: use c0610k_test1 ---Không hiếu lệnh này của bạn để làm gì go --If này như của bạn là kiểm tra tồn tại, có thì xóa else không if DB_ID('assignmets') is not null drop database assignments; --Tiến hành tạo lại database GO Create database assignments --Gọi lệnh chọn database này Use [assignments] --Lệnh GO dùng để báo cho SQL biết hoàn tất một đoạn lệnh ( tôi nghĩ như thế) GO create table student ( RN int identity primary key, name nvarchar(30) not null, age int null, gender int null ) GO create table subject ( sID int identity primary key, sname nvarchar(15) not null ) GO create table student_subject ( RN int not null, sID int not null, mark int null, date datetime ) go \================== HAPPY NEW YEAR !========================== Cho mình hỏi, sao cứ chạy được 1 lần ko lỗi j, mà là lần sau ấn chạy nó lại báo tất cả các table đều cố rồi. mình phải tắt chương trình đi bật lại thì nó ko có lỗi đó nữa. Có cách nào sửa ko mọi người :D When attempting to perform VDB operations on SQL Server VDBs, including Enable, Start, or Disable, a "database already exists" warning or error may appear: Error: Failed to perform operation on VDB "MyDatabase" because a database with name "MyDatabase", primary data file "C:\temp\data.mdf" already exists on instance "SQL2016", host environment "mysqlservertarget.mydomain.com" and is not managed by Delphix. Error Code: exception.db.mssqlvdb.vdb.target_db.different Suggested Action: Detach the existing database from within SQL Server and try this operation again, or use the Delphix Engine Migrate function to move this VDB to a different SQL Server instance. There are several reasons that this issue may occur, including:
The resolution steps below describe how to identify and respond to the above situations. Applicable Delphix VersionsClick here to view the versions of the Delphix engine to which this article applies Major Release All Sub Releases 6.0 6.0.0.0, 6.0.1.0, 6.0.1.1, 6.0.2.0, 6.0.2.1, 6.0.3.0, 6.0.3.1, 6.0.4.0, 6.0.4.1, 6.0.4.2, 6.0.5.0, 6.0.6.0, 6.0.6.1, 6.0.7.0, 6.0.8.0, 6.0.8.1 5.3 5.3.0.0, 5.3.0.1, 5.3.0.2, 5.3.0.3, 5.3.1.0, 5.3.1.1, 5.3.1.2, 5.3.2.0, 5.3.3.0, 5.3.3.1, 5.3.4.0, 5.3.5.0, 5.3.6.0, 5.3.7.0, 5.3.7.1, 5.3.8.0, 5.3.8.1, 5.3.9.0 5.2 5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1 5.1 5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0 5.0 5.0.1.0, 5.0.1.1, 5.0.2.0, 5.0.2.1, 5.0.2.2, 5.0.2.3, 5.0.3.0, 5.0.3.1, 5.0.4.0, 5.0.4.1, 5.0.5.0, 5.0.5.1, 5.0.5.2, 5.0.5.3, 5.0.5.4 Resolution when the VDB has been replaced with a local databaseThe details of the affected instance are shown in the error message, as well as in the Configuration → Source tab of the Manage → Datasets screen. To confirm that the database has been replaced, you can use SQL Server Management Studio to connect to the affected SQL Server instance, and check the Properties of the database. In the below example, the MyDatabase database shows that its data files exist on the instance's local storage, in this case C:\temp: There may be valid business reasons that the VDB has been replaced with a physical copy of the database. If it is important to keep the current database online, you can leave the VDB disabled. It can be re-enabled once the local copy is no longer present. If the local copy of the database is no longer required, and you wish to use this Delphix Engine VDB instead, complete the following steps:
This operation should complete successfully, and VDB operations (including Snapshot, Refresh, Stop and Start) should now function normally. Resolution when VDB has been provisioned from another engineIn some cases, the error message may reference data files in a Delphix Connector directory instead of local database files: Failed to perform operation on VDB "MyDatabase" because a database with name "MyDatabase", primary data file "C:\DelphixConnector\564d84e7-39b6-afbf-015f-0676ec9c9758-vdb-2\DATA\db\data.mdf" already exists on instance "SQL2016", host environment "mysqlservertarget.mydomain.com" and is not managed by Delphix. The reported Delphix Connector directory in this error will include a UUID, such as If the conflicting VDB has been provisioned from another Delphix Engine, this UUID will not match the Server ID listed in the Delphix Engine's Help → About dialog: Server ID: 564d759c-fa8e-890e-7622-01465c85734d In this case, it will be necessary to determine which of the two VDBs is the most appropriate for your environment. The less relevant VDB should be disabled, renamed, or deleted as appropriate, using the Management interface of that Delphix Engine. The Delphix Engine raising this error will not determine which other Delphix Engine in your environment is presenting the conflicting VDB. It may be necessary to check the Server ID of other Delphix Engines in your environment to find the one which manages the conflicting VDB. Resolution after an uncontrolled Delphix Engine failoverIf a Delphix Engine failover has occurred and the databases have not been cleanly disabled as described in the document Controlled Failover, an Uncontrolled Failover occurs. In this case, VDBs may fail to enable, reporting an error that references a Delphix Connector subdirectory: Failed to perform operation on VDB "MyDatabase" because a database with name "MyDatabase", primary data file "C:\DelphixConnector\564d84e7-39b6-afbf-015f-0676ec9c9758-vdb-2\DATA\db\data.mdf" already exists on instance "SQL2016", host environment "mysqlservertarget.mydomain.com" and is not managed by Delphix. This error message will include a UUID, such as In this case, follow the appropriate SQL Server procedures in the Delphix Engine document Uncontrolled Failover. |