microsoft / mssql-scripter

Repository for the new SQL cross-platform command line tools
Other
738 stars 147 forks source link

Views are not dumped #147

Open lrkwz opened 6 years ago

lrkwz commented 6 years ago

Is there any specific reason why (external db2 linked) views are not dumped by

mssql-scripter --server 127.0.0.1,1433 --user myuser --database mydatabase --password ****** --schema-and-data

how can I get VIEW definition out of there?

pensivebrian commented 6 years ago

Hello, @lrkwz. Can you provide an example of the view defintion that mssql-scripter is having trouble with?

I tried the following view definitions that use linked servers, and mssql-scripter was able to script them. But, I'm not very familiar with this feature, so my repro might not be complete.

CREATE VIEW [dbo].[OpenQueryLinkedView] AS
SELECT c1, c2 FROM OPENQUERY([TestServer], 'select * from Temp.dbo.T1')
GO

CREATE VIEW [dbo].[LinkedView]
AS
    SELECT  *
    FROM    [TestServer].Temp.dbo.T1
GO
lrkwz commented 6 years ago

I've found a missing one which is not even Openquery based:

CREATE VIEW [dbo].[VW_S000000019] AS 
SELECT   OrdiniClienti_Testate.DEVICE_ID AS DEVICE_ID  ,OrdiniClienti_Testate.DATA_SESSION_ID AS DATA_SESSION_ID  ,OrdiniClienti_Testate.OWNER_ID AS OWNER_ID  ,OrdiniClienti_Testate.MODIFIER_ID AS MODIFIER_ID  ,OrdiniClienti_Testate.INSERT_DATE AS INSERT_DATE  ,OrdiniClienti_Testate.MODIFY_DATE AS MODIFY_DATE  ,OrdiniClienti_Stato.DEVICE_ID AS OrdiniClienti_Stato_DEVICE_ID  ,OrdiniClienti_Testate.R_PROGR ,OrdiniClienti_Testate.CS00000000E ,OrdiniClienti_Testate.CS00000000F ,OrdiniClienti_Testate.CS00000000G ,OrdiniClienti_Testate.CS00000000H ,OrdiniClienti_Testate.CS00000000I ,OrdiniClienti_Testate.CS00000000K ,OrdiniClienti_Testate.CS00000000L ,OrdiniClienti_Testate.CS00000000M ,OrdiniClienti_Testate.CS000000020 ,OrdiniClienti_Stato.CS00000003M AS OrdiniClienti_Stato_StatoOrdinePortale   
FROM  dbo.TS000000001 AS OrdiniClienti_Testate  
LEFT OUTER JOIN  dbo.TS000000008 AS OrdiniClienti_Stato ON OrdiniClienti_Testate.CS000000020=OrdiniClienti_Stato.R_PROGR 

it looks fairly normal ... I really cannot understand where's the point.